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
24 uuid(99fcfe60
-5260-101b
-bbcb
-00aa0021347a
),
25 pointer_default(unique)
27 interface ObjectRpcBaseTypes
29 typedef unsigned hyper ID;
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
;
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
61 [size_is((size
+ 7) & ~
7)] byte data
[];
64 typedef struct tagORPC_EXTENT_ARRAY
67 unsigned long reserved
;
68 [size_is((size
+ 1) & ~
1,), unique] ORPC_EXTENT
**extent
;
71 typedef struct tagORPCTHIS
75 unsigned long reserved1
;
77 [unique] ORPC_EXTENT_ARRAY
*extensions
;
80 typedef struct tagORPCTHAT
83 [unique] ORPC_EXTENT_ARRAY
*extensions
;
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
[];
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
[];
110 typedef struct tagDUALSTRINGARRAY
112 unsigned short wNumEntries
;
113 unsigned short wSecurityOffset
;
114 [size_is(wNumEntries
)] unsigned short aStringArray
[];
117 typedef struct tagOXID_INFO
123 DUALSTRINGARRAY
*psa
;
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
144 unsigned long cPublicRefs
;
150 typedef struct tagOBJREF
152 unsigned long signature
;
158 [case(OBJREF_STANDARD
)]
162 DUALSTRINGARRAY saResAddr
;
165 [case(OBJREF_HANDLER
)]
170 DUALSTRINGARRAY saResAddr
;
173 [case(OBJREF_CUSTOM
)]
177 unsigned long cbExtension
;
179 [size_is(size
), ref] byte *pData
;
184 typedef struct tagMInterfacePointer
187 [size_is(ulCntData
)] BYTE abData
[];
190 typedef [unique] MInterfacePointer
*PMInterfacePointer
;