librpc/ndr: add new LIBNDR_FLAG_STR_RAW8 for ndr_pull_string
[ira/wip.git] / 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_CONFORMANT  LIBNDR_FLAG_STR_CONFORMANT
9 #define STR_CHARLEN     LIBNDR_FLAG_STR_CHARLEN
10 #define STR_UTF8        LIBNDR_FLAG_STR_UTF8
11 #define STR_RAW8        LIBNDR_FLAG_STR_RAW8
12
13 /*
14   a null terminated UCS2 string
15 */
16 #define nstring         [flag(STR_NULLTERM|NDR_ALIGN2)] string
17
18 /*
19   a null terminated ascii string
20 */
21 #define astring         [flag(STR_ASCII|STR_NULLTERM)] string
22
23 /*
24   a null terminated UTF8 string
25 */
26 #define utf8string      [flag(STR_UTF8|STR_NULLTERM)] string
27
28 /*
29   a null terminated "raw" string (null terminated byte sequence)
30 */
31 #define raw8string      [flag(STR_RAW8|STR_NULLTERM)] string
32
33 /*
34   a null terminated UCS2 string
35 */
36 #define nstring_array   [flag(STR_NULLTERM|NDR_ALIGN2)] string_array
37
38 #define NDR_NOALIGN       LIBNDR_FLAG_NOALIGN
39 #define NDR_REMAINING     LIBNDR_FLAG_REMAINING
40 #define NDR_ALIGN2        LIBNDR_FLAG_ALIGN2
41 #define NDR_ALIGN4        LIBNDR_FLAG_ALIGN4
42 #define NDR_ALIGN8        LIBNDR_FLAG_ALIGN8
43
44 /* this flag is used to force a section of IDL as little endian. It is
45    needed for the epmapper IDL, which is defined as always being LE */
46 #define NDR_LITTLE_ENDIAN LIBNDR_FLAG_LITTLE_ENDIAN
47 #define NDR_BIG_ENDIAN LIBNDR_FLAG_BIGENDIAN
48
49 /*
50   this is used to control formatting of uint8 arrays
51 */
52 #define NDR_PAHEX LIBNDR_PRINT_ARRAY_HEX
53
54 #define NDR_RELATIVE_REVERSE LIBNDR_FLAG_RELATIVE_REVERSE
55 #define NDR_NO_RELATIVE_REVERSE LIBNDR_FLAG_NO_RELATIVE_REVERSE