rtworkq: Add remaining queue management stubs.
[wine.git] / include / wine / orpc.idl
blob4ddc8ac3b3e6564ef666ba7edd0284535042b851
1 /*
2 * Copyright 2003 Ove Kåven, TransGaming Technologies
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #pragma makedep header
21 import "unknwn.idl";
24 uuid(99fcfe60-5260-101b-bbcb-00aa0021347a),
25 pointer_default(unique)
27 interface ObjectRpcBaseTypes
29 typedef unsigned hyper ID;
30 typedef ID MID;
31 typedef ID OXID;
32 typedef ID OID;
33 typedef ID SETID;
34 typedef GUID IPID;
35 typedef GUID CID;
36 typedef REFGUID REFIPID;
38 const unsigned short COM_MINOR_VERSION_1 = 1;
39 const unsigned short COM_MINOR_VERSION_2 = 2;
41 const unsigned short COM_MAJOR_VERSION = 5;
42 const unsigned short COM_MINOR_VERSION = 3;
44 typedef struct tagCOMVERSION
46 unsigned short MajorVersion;
47 unsigned short MinorVersion;
48 } COMVERSION;
50 const unsigned long ORPCF_NULL = 0;
51 const unsigned long ORPCF_LOCAL = 1;
52 const unsigned long ORPCF_RESERVED1 = 2;
53 const unsigned long ORPCF_RESERVED2 = 4;
54 const unsigned long ORPCF_RESERVED3 = 8;
55 const unsigned long ORPCF_RESERVED4 = 16;
57 typedef struct tagORPC_EXTENT
59 GUID id;
60 unsigned long size;
61 [size_is((size + 7) & ~7)] byte data[];
62 } ORPC_EXTENT;
64 typedef struct tagORPC_EXTENT_ARRAY
66 unsigned long size;
67 unsigned long reserved;
68 [size_is((size + 1) & ~1,), unique] ORPC_EXTENT **extent;
69 } ORPC_EXTENT_ARRAY;
71 typedef struct tagORPCTHIS
73 COMVERSION version;
74 unsigned long flags;
75 unsigned long reserved1;
76 CID cid;
77 [unique] ORPC_EXTENT_ARRAY *extensions;
78 } ORPCTHIS;
80 typedef struct tagORPCTHAT
82 unsigned long flags;
83 [unique] ORPC_EXTENT_ARRAY *extensions;
84 } ORPCTHAT;
86 const unsigned short NCADG_IP_UDP = 0x08;
87 const unsigned short NCACN_IP_TCP = 0x07;
88 const unsigned short NCADG_IPX = 0x0E;
89 const unsigned short NCACN_SPX = 0x0C;
90 const unsigned short NCACN_NB_NB = 0x12;
91 const unsigned short NCACN_NB_IPX = 0x0D;
92 const unsigned short NCACN_DNET_NSP = 0x04;
93 const unsigned short NCACN_HTTP = 0x1F;
95 typedef struct tagSTRINGBINDING
97 unsigned short wTowerId;
98 [string] WCHAR aNetworkAddr[];
99 } STRINGBINDING;
101 const unsigned short COM_C_AUTHZ_NONE = 0xffff;
103 typedef struct tagSECURITYBINDING
105 unsigned short wAuthnSvc;
106 unsigned short wAuthzSvc;
107 [string] WCHAR aPrincName[];
108 } SECURITYBINDING;
110 typedef struct tagDUALSTRINGARRAY
112 unsigned short wNumEntries;
113 unsigned short wSecurityOffset;
114 [size_is(wNumEntries)] unsigned short aStringArray[];
115 } DUALSTRINGARRAY;
117 typedef struct tagOXID_INFO
119 DWORD dwTid;
120 DWORD dwPid;
121 IPID ipidRemUnknown;
122 DWORD dwAuthnHint;
123 DUALSTRINGARRAY *psa;
124 } OXID_INFO;
126 const unsigned long OBJREF_SIGNATURE = 0x574f454d; /* "MEOW" */
127 const unsigned long OBJREF_STANDARD = 0x1;
128 const unsigned long OBJREF_HANDLER = 0x2;
129 const unsigned long OBJREF_CUSTOM = 0x4;
130 const unsigned long SORF_OXRES1 = 0x1;
131 const unsigned long SORF_OXRES2 = 0x20;
132 const unsigned long SORF_OXRES3 = 0x40;
133 const unsigned long SORF_OXRES4 = 0x80;
134 const unsigned long SORF_OXRES5 = 0x100;
135 const unsigned long SORF_OXRES6 = 0x200;
136 const unsigned long SORF_OXRES7 = 0x400;
137 const unsigned long SORF_OXRES8 = 0x800;
138 const unsigned long SORF_NULL = 0x0;
139 const unsigned long SORF_NOPING = 0x1000;
141 typedef struct tagSTDOBJREF
143 unsigned long flags;
144 unsigned long cPublicRefs;
145 OXID oxid;
146 OID oid;
147 IPID ipid;
148 } STDOBJREF;
150 typedef struct tagOBJREF
152 unsigned long signature;
153 unsigned long flags;
154 GUID iid;
155 [switch_is(flags)]
156 union
158 [case(OBJREF_STANDARD)]
159 struct OR_STANDARD
161 STDOBJREF std;
162 DUALSTRINGARRAY saResAddr;
163 } u_standard;
165 [case(OBJREF_HANDLER)]
166 struct OR_HANDLER
168 STDOBJREF std;
169 CLSID clsid;
170 DUALSTRINGARRAY saResAddr;
171 } u_handler;
173 [case(OBJREF_CUSTOM)]
174 struct OR_CUSTOM
176 CLSID clsid;
177 unsigned long cbExtension;
178 ULONG size;
179 [size_is(size), ref] byte *pData;
180 } u_custom;
181 } u_objref;
182 } OBJREF;
184 typedef struct tagMInterfacePointer
186 ULONG ulCntData;
187 [size_is(ulCntData)] BYTE abData[];
188 } MInterfacePointer;
190 typedef [unique] MInterfacePointer *PMInterfacePointer;