d3dcompiler.h: Add function pointer typedefs.
[wine] / include / 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;