Sync with trunk head (part 1 of x)
[reactos.git] / include / reactos / wine / dcetypes.idl
1 /*
2 * Common DCE Types
3 *
4 * Copyright 2006 Robert Shearman (for CodeWeavers)
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 */
20
21 /* pull in GUID type */
22 import "wtypes.idl";
23
24 typedef unsigned small unsigned8;
25 typedef unsigned short unsigned16;
26 typedef unsigned long unsigned32;
27 typedef small signed8;
28 typedef short signed16;
29 typedef long signed32;
30 typedef unsigned32 boolean32;
31 typedef unsigned hyper u_int64;
32 typedef unsigned long u_int32;
33 typedef unsigned short u_int16;
34 typedef unsigned small u_int8;
35
36 typedef [ptr] GUID *uuid_p_t;
37
38 typedef struct twr_t
39 {
40 unsigned32 tower_length;
41 [size_is(tower_length)] byte tower_octet_string[];
42 } twr_t;
43 typedef [ptr] twr_t *twr_p_t;
44
45 typedef struct ndr_context_handle
46 {
47 unsigned32 context_handle_attributes;
48 GUID context_handle_uuid;
49 } ndr_context_handle;
50
51 const long ndr_c_int_big_endian = 0;
52 const long ndr_c_int_little_endian = 1;
53 const long ndr_c_float_ieee = 0;
54 const long ndr_c_float_vax = 1;
55 const long ndr_c_float_cray = 2;
56 const long ndr_c_float_ibm = 3;
57 const long ndr_c_char_ascii = 0;
58 const long ndr_c_char_ebcdic = 1;
59
60 typedef struct
61 {
62 unsigned8 int_rep;
63 unsigned8 char_rep;
64 unsigned8 float_rep;
65 byte reserved;
66 } ndr_format_t, *ndr_format_p_t;
67
68 typedef struct
69 {
70 GUID uuid;
71 unsigned16 vers_major;
72 unsigned16 vers_minor;
73 } rpc_if_id_t;
74 typedef [unique] rpc_if_id_t *rpc_if_id_p_t;
75
76 typedef struct
77 {
78 unsigned32 count;
79 [size_is(count)]
80 rpc_if_id_p_t if_id[*];
81 } rpc_if_id_vector_t;
82 typedef [unique] rpc_if_id_vector_t *rpc_if_id_vector_p_t;
83
84 typedef struct
85 {
86 unsigned32 count;
87 unsigned32 stats[1]; /* length_is (count) */
88 } rpc_stats_vector_t, *rpc_stats_vector_p_t;