added watt32 headers and brought the DOS version up to parity with UNIX
[oftp] / libs / watt32 / sys / packon.h
1 /*!\file sys/packon.h
2  *
3  * Sets structure packing to 1 byte.
4  */
5
6 /*++
7
8 Copyright (c) 1990,91  Microsoft Corporation
9
10 Module Name:
11
12     packon.h
13
14 Abstract:
15
16     This file turns packing of structures on.  (That is, it disables
17     automatic alignment of structure fields.)  An include file is needed
18     because various compilers do this in different ways.
19
20     The file packoff.h is the complement to this file.
21
22 Author:
23
24     Chuck Lenzmeier (chuckl) 4-Mar-1990
25
26 Revision History:
27
28     15-Apr-1991 JohnRo
29         Created lint-able variant.
30
31     20-Oct-1997 G.Vanem
32         Added Metaware support
33
34     05-Jul-1999 G.Vanem
35         Added LADsoft support
36
37     01-Nov-2000 G. Vanem
38         Added Visual C/C++ support
39
40 --*/
41
42 #if defined(__BORLANDC__) && (__BORLANDC__ >= 0x550)
43   #pragma option push -b -a8 -pc -A- /*P_O_Push*/
44 #endif
45
46 #if !(defined(lint) || defined(_lint))
47   #if defined(_MSC_VER) && (_MSC_VER >= 800)
48     #pragma warning(disable:4103)
49   #endif
50
51   #if defined(__HIGHC__)
52     #pragma push_align_members(1);
53   #elif defined(__WATCOMC__) && (__WATCOMC__ >= 1000)
54     #pragma pack(__push,1);
55   #elif (defined(_MSC_VER) && (_MSC_VER > 800)) || \
56         (defined(__BORLANDC__) && (__BORLANDC__ >= 0x500)) || \
57          defined(__POCC__) || defined(__LCC__)
58     #pragma pack(push,1)
59   #else
60     #pragma pack(1)
61   #endif
62 #endif
63
64 #if defined(__BORLANDC__) && (__BORLANDC__ >= 0x550)
65   #pragma option pop  /*P_O_Pop*/
66 #endif