872883df4b180612aa878923a5074cd0902aaf28
[ira/wip.git] / source4 / librpc / idl / idl_types.h
1 #define STR_ASCII       LIBNDR_FLAG_STR_ASCII
2 #define STR_LEN4        LIBNDR_FLAG_STR_LEN4
3 #define STR_SIZE4       LIBNDR_FLAG_STR_SIZE4
4 #define STR_SIZE2       LIBNDR_FLAG_STR_SIZE2
5 #define STR_NOTERM      LIBNDR_FLAG_STR_NOTERM
6 #define STR_NULLTERM    LIBNDR_FLAG_STR_NULLTERM
7 #define STR_BYTESIZE    LIBNDR_FLAG_STR_BYTESIZE
8 #define STR_FIXLEN32    LIBNDR_FLAG_STR_FIXLEN32
9 #define STR_FIXLEN15    LIBNDR_FLAG_STR_FIXLEN15
10 #define STR_CONFORMANT  LIBNDR_FLAG_STR_CONFORMANT
11 #define STR_CHARLEN     LIBNDR_FLAG_STR_CHARLEN
12 #define STR_UTF8        LIBNDR_FLAG_STR_UTF8
13 #define STR_LARGE_SIZE  LIBNDR_FLAG_STR_LARGE_SIZE
14
15 /*
16   a UCS2 string prefixed with [size], 32 bits
17 */
18 #define lstring         [flag(STR_SIZE4)] string
19
20 /*
21   a null terminated UCS2 string
22 */
23 #define nstring         [flag(STR_NULLTERM)] string
24
25 /*
26   fixed length 32 character UCS-2 string
27 */
28 #define string32        [flag(STR_FIXLEN32)] string
29
30 /*
31   fixed length 16 character ascii string
32 */
33 #define astring15       [flag(STR_ASCII|STR_FIXLEN15)] string
34
35 /*
36   an ascii string prefixed with [size] [offset] [length], all 32 bits
37   null terminated
38 */
39 #define ascstr          [flag(STR_ASCII|STR_SIZE4|STR_LEN4)] string
40
41 /*
42   an ascii string prefixed with [offset] [length], both 32 bits
43   null terminated
44 */
45 #define ascstr2         [flag(STR_ASCII|STR_LEN4)] string
46
47 /*
48   an ascii string prefixed with [size], 32 bits
49 */
50 #define asclstr         [flag(STR_ASCII|STR_SIZE4)] string
51
52 /*
53   an ascii string prefixed with [size], 16 bits
54   null terminated
55 */
56 #define ascstr3         [flag(STR_ASCII|STR_SIZE2)] string
57
58 /*
59   an ascii string prefixed with [size] [offset] [length], all 32 bits
60   not null terminated
61 */
62 #define ascstr_noterm   [flag(STR_NOTERM|STR_ASCII|STR_SIZE4|STR_LEN4)] string
63
64 /*
65   a null terminated ascii string
66 */
67 #define astring         [flag(STR_ASCII|STR_NULLTERM)] string
68
69 /*
70   a null terminated UTF8 string
71 */
72 #define utf8string      [flag(STR_UTF8|STR_NULLTERM)] string
73
74 /*
75   a null terminated UCS2 string
76 */
77 #define nstring_array   [flag(STR_NULLTERM)] string_array
78
79 #define NDR_NOALIGN       LIBNDR_FLAG_NOALIGN
80 #define NDR_REMAINING     LIBNDR_FLAG_REMAINING
81 #define NDR_ALIGN2        LIBNDR_FLAG_ALIGN2
82 #define NDR_ALIGN4        LIBNDR_FLAG_ALIGN4
83 #define NDR_ALIGN8        LIBNDR_FLAG_ALIGN8
84
85 /* this flag is used to force a section of IDL as little endian. It is
86    needed for the epmapper IDL, which is defined as always being LE */
87 #define NDR_LITTLE_ENDIAN LIBNDR_FLAG_LITTLE_ENDIAN
88 #define NDR_BIG_ENDIAN LIBNDR_FLAG_BIGENDIAN
89
90
91 /*
92   these are used by the epmapper and mgmt interfaces
93 */
94 #define error_status_t uint32
95 #define boolean32 uint32
96 #define unsigned32 uint32
97
98 /*
99   this is used to control formatting of uint8 arrays
100 */
101 #define NDR_PAHEX LIBNDR_PRINT_ARRAY_HEX
102
103 #define bool8 uint8