r11103: Eliminate ascstr
[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 [offset] [length], both 32 bits
37   null terminated
38 */
39 #define ascstr2         [flag(STR_ASCII|STR_LEN4)] string
40
41 /*
42   an ascii string prefixed with [size], 32 bits
43 */
44 #define asclstr         [flag(STR_ASCII|STR_SIZE4)] string
45
46 /*
47   an ascii string prefixed with [size], 16 bits
48   null terminated
49 */
50 #define ascstr3         [flag(STR_ASCII|STR_SIZE2)] string
51
52 /*
53   an ascii string prefixed with [size] [offset] [length], all 32 bits
54   not null terminated
55 */
56 #define ascstr_noterm   [flag(STR_NOTERM|STR_ASCII|STR_SIZE4|STR_LEN4)] string
57
58 /*
59   a null terminated ascii string
60 */
61 #define astring         [flag(STR_ASCII|STR_NULLTERM)] string
62
63 /*
64   a null terminated UTF8 string
65 */
66 #define utf8string      [flag(STR_UTF8|STR_NULLTERM)] string
67
68 /*
69   a null terminated UCS2 string
70 */
71 #define nstring_array   [flag(STR_NULLTERM)] string_array
72
73 #define NDR_NOALIGN       LIBNDR_FLAG_NOALIGN
74 #define NDR_REMAINING     LIBNDR_FLAG_REMAINING
75 #define NDR_ALIGN2        LIBNDR_FLAG_ALIGN2
76 #define NDR_ALIGN4        LIBNDR_FLAG_ALIGN4
77 #define NDR_ALIGN8        LIBNDR_FLAG_ALIGN8
78
79 /* this flag is used to force a section of IDL as little endian. It is
80    needed for the epmapper IDL, which is defined as always being LE */
81 #define NDR_LITTLE_ENDIAN LIBNDR_FLAG_LITTLE_ENDIAN
82 #define NDR_BIG_ENDIAN LIBNDR_FLAG_BIGENDIAN
83
84
85 /*
86   these are used by the epmapper and mgmt interfaces
87 */
88 #define error_status_t uint32
89 #define boolean32 uint32
90 #define unsigned32 uint32
91
92 /*
93   this is used to control formatting of uint8 arrays
94 */
95 #define NDR_PAHEX LIBNDR_PRINT_ARRAY_HEX
96
97 #define bool8 uint8