Artifact d3ce7b71ab1b6ffb1d0d54f17c2ac860423b083f:
0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0a 2a 20 20 20 20 20 ********\.*
0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0060: 20 20 20 20 20 20 20 20 20 20 72 70 63 64 63 65 rpcdce
0070: 32 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 20 2.d
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0090: 20 20 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20 *.*
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20 *.*
00e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00f0: 20 20 20 20 20 20 57 69 6e 64 6f 77 73 20 41 50 Windows AP
0100: 49 20 68 65 61 64 65 72 20 6d 6f 64 75 6c 65 20 I header module
0110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0120: 20 20 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20 *.*
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0170: 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 *.*
0180: 20 20 20 20 54 72 61 6e 73 6c 61 74 65 64 20 66 Translated f
0190: 72 6f 6d 20 4d 69 6e 47 57 20 57 69 6e 64 6f 77 rom MinGW Window
01a0: 73 20 68 65 61 64 65 72 73 20 20 20 20 20 20 20 s headers
01b0: 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20 20 20 *.*
01c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
01d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
01e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0200: 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20 20 20 *.*
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 6c Pl
0220: 61 63 65 64 20 69 6e 74 6f 20 70 75 62 6c 69 63 aced into public
0230: 20 64 6f 6d 61 69 6e 20 20 20 20 20 20 20 20 20 domain
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a *.
0250: 5c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a \***************
0260: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0270: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0280: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0290: 2a 2a 2a 2a 2a 2a 2a 2a 2f 0a 6d 6f 64 75 6c 65 ********/.module
02a0: 20 77 69 6e 33 32 2e 72 70 63 64 63 65 32 3b 0a win32.rpcdce2;.
02b0: 0a 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e 72 70 .import win32.rp
02c0: 63 64 63 65 3b 0a 70 72 69 76 61 74 65 20 69 6d cdce;.private im
02d0: 70 6f 72 74 20 77 69 6e 33 32 2e 62 61 73 65 74 port win32.baset
02e0: 79 70 73 3b 0a 0a 2f 2f 20 46 49 58 4d 45 3a 20 yps;..// FIXME:
02f0: 64 65 61 6c 20 77 69 74 68 20 52 50 43 5f 55 4e deal with RPC_UN
0300: 49 43 4f 44 45 5f 53 55 50 50 4f 52 54 45 44 0a ICODE_SUPPORTED.
0310: 2f 2f 20 46 49 58 4d 45 3a 20 63 68 65 63 6b 20 // FIXME: check
0320: 74 79 70 65 73 20 6f 66 20 63 6f 6e 73 74 61 6e types of constan
0330: 74 73 0a 0a 65 6e 75 6d 20 7b 0a 09 52 50 43 5f ts..enum {..RPC_
0340: 43 5f 45 50 5f 41 4c 4c 5f 45 4c 54 53 2c 0a 09 C_EP_ALL_ELTS,..
0350: 52 50 43 5f 43 5f 45 50 5f 4d 41 54 43 48 5f 42 RPC_C_EP_MATCH_B
0360: 59 5f 49 46 2c 0a 09 52 50 43 5f 43 5f 45 50 5f Y_IF,..RPC_C_EP_
0370: 4d 41 54 43 48 5f 42 59 5f 4f 42 4a 2c 0a 09 52 MATCH_BY_OBJ,..R
0380: 50 43 5f 43 5f 45 50 5f 4d 41 54 43 48 5f 42 59 PC_C_EP_MATCH_BY
0390: 5f 42 4f 54 48 0a 7d 0a 0a 65 6e 75 6d 20 7b 0a _BOTH.}..enum {.
03a0: 09 52 50 43 5f 43 5f 56 45 52 53 5f 41 4c 4c 20 .RPC_C_VERS_ALL
03b0: 3d 20 31 2c 0a 09 52 50 43 5f 43 5f 56 45 52 53 = 1,..RPC_C_VERS
03c0: 5f 43 4f 4d 50 41 54 49 42 4c 45 2c 0a 09 52 50 _COMPATIBLE,..RP
03d0: 43 5f 43 5f 56 45 52 53 5f 45 58 41 43 54 2c 0a C_C_VERS_EXACT,.
03e0: 09 52 50 43 5f 43 5f 56 45 52 53 5f 4d 41 4a 4f .RPC_C_VERS_MAJO
03f0: 52 5f 4f 4e 4c 59 2c 0a 09 52 50 43 5f 43 5f 56 R_ONLY,..RPC_C_V
0400: 45 52 53 5f 55 50 54 4f 0a 7d 0a 0a 63 6f 6e 73 ERS_UPTO.}..cons
0410: 74 20 73 69 7a 65 5f 74 20 44 43 45 5f 43 5f 45 t size_t DCE_C_E
0420: 52 52 4f 52 5f 53 54 52 49 4e 47 5f 4c 45 4e 20 RROR_STRING_LEN
0430: 3d 20 32 35 36 3b 0a 0a 65 6e 75 6d 20 7b 0a 09 = 256;..enum {..
0440: 52 50 43 5f 43 5f 4d 47 4d 54 5f 49 4e 51 5f 49 RPC_C_MGMT_INQ_I
0450: 46 5f 49 44 53 2c 0a 09 52 50 43 5f 43 5f 4d 47 F_IDS,..RPC_C_MG
0460: 4d 54 5f 49 4e 51 5f 50 52 49 4e 43 5f 4e 41 4d MT_INQ_PRINC_NAM
0470: 45 2c 0a 09 52 50 43 5f 43 5f 4d 47 4d 54 5f 49 E,..RPC_C_MGMT_I
0480: 4e 51 5f 53 54 41 54 53 2c 0a 09 52 50 43 5f 43 NQ_STATS,..RPC_C
0490: 5f 4d 47 4d 54 5f 49 53 5f 53 45 52 56 45 52 5f _MGMT_IS_SERVER_
04a0: 4c 49 53 54 45 4e 2c 0a 09 52 50 43 5f 43 5f 4d LISTEN,..RPC_C_M
04b0: 47 4d 54 5f 53 54 4f 50 5f 53 45 52 56 45 52 5f GMT_STOP_SERVER_
04c0: 4c 49 53 54 45 4e 0a 7d 0a 0a 65 78 74 65 72 6e LISTEN.}..extern
04d0: 20 28 57 69 6e 64 6f 77 73 29 20 7b 0a 09 69 6e (Windows) {..in
04e0: 74 20 55 75 69 64 43 6f 6d 70 61 72 65 28 55 55 t UuidCompare(UU
04f0: 49 44 2a 2c 20 55 55 49 44 2a 2c 20 52 50 43 5f ID*, UUID*, RPC_
0500: 53 54 41 54 55 53 2a 29 3b 0a 09 52 50 43 5f 53 STATUS*);..RPC_S
0510: 54 41 54 55 53 20 55 75 69 64 43 72 65 61 74 65 TATUS UuidCreate
0520: 4e 69 6c 28 55 55 49 44 2a 29 3b 0a 09 69 6e 74 Nil(UUID*);..int
0530: 20 55 75 69 64 45 71 75 61 6c 28 55 55 49 44 2a UuidEqual(UUID*
0540: 2c 20 55 55 49 44 2a 2c 20 52 50 43 5f 53 54 41 , UUID*, RPC_STA
0550: 54 55 53 2a 29 3b 0a 09 75 73 68 6f 72 74 20 55 TUS*);..ushort U
0560: 75 69 64 48 61 73 68 28 55 55 49 44 2a 2c 20 52 uidHash(UUID*, R
0570: 50 43 5f 53 54 41 54 55 53 2a 29 3b 0a 09 69 6e PC_STATUS*);..in
0580: 74 20 55 75 69 64 49 73 4e 69 6c 28 55 55 49 44 t UuidIsNil(UUID
0590: 2a 2c 20 52 50 43 5f 53 54 41 54 55 53 2a 29 3b *, RPC_STATUS*);
05a0: 0a 0a 09 52 50 43 5f 53 54 41 54 55 53 20 52 70 ...RPC_STATUS Rp
05b0: 63 4d 67 6d 74 45 70 45 6c 74 49 6e 71 42 65 67 cMgmtEpEltInqBeg
05c0: 69 6e 28 52 50 43 5f 42 49 4e 44 49 4e 47 5f 48 in(RPC_BINDING_H
05d0: 41 4e 44 4c 45 2c 20 75 69 6e 74 2c 20 52 50 43 ANDLE, uint, RPC
05e0: 5f 49 46 5f 49 44 2a 2c 0a 09 20 20 75 69 6e 74 _IF_ID*,.. uint
05f0: 2c 20 55 55 49 44 2a 2c 20 52 50 43 5f 45 50 5f , UUID*, RPC_EP_
0600: 49 4e 51 5f 48 41 4e 44 4c 45 2a 29 3b 0a 09 52 INQ_HANDLE*);..R
0610: 50 43 5f 53 54 41 54 55 53 20 52 70 63 4d 67 6d PC_STATUS RpcMgm
0620: 74 45 70 45 6c 74 49 6e 71 44 6f 6e 65 28 52 50 tEpEltInqDone(RP
0630: 43 5f 45 50 5f 49 4e 51 5f 48 41 4e 44 4c 45 2a C_EP_INQ_HANDLE*
0640: 29 3b 0a 09 52 50 43 5f 53 54 41 54 55 53 20 52 );..RPC_STATUS R
0650: 70 63 4d 67 6d 74 45 70 55 6e 72 65 67 69 73 74 pcMgmtEpUnregist
0660: 65 72 28 52 50 43 5f 42 49 4e 44 49 4e 47 5f 48 er(RPC_BINDING_H
0670: 41 4e 44 4c 45 2c 20 52 50 43 5f 49 46 5f 49 44 ANDLE, RPC_IF_ID
0680: 2a 2c 0a 09 20 20 52 50 43 5f 42 49 4e 44 49 4e *,.. RPC_BINDIN
0690: 47 5f 48 41 4e 44 4c 45 2c 20 55 55 49 44 2a 29 G_HANDLE, UUID*)
06a0: 3b 0a 09 52 50 43 5f 53 54 41 54 55 53 20 52 70 ;..RPC_STATUS Rp
06b0: 63 4d 67 6d 74 53 65 74 41 75 74 68 6f 72 69 7a cMgmtSetAuthoriz
06c0: 61 74 69 6f 6e 46 6e 28 52 50 43 5f 4d 47 4d 54 ationFn(RPC_MGMT
06d0: 5f 41 55 54 48 4f 52 49 5a 41 54 49 4f 4e 5f 46 _AUTHORIZATION_F
06e0: 4e 29 3b 0a 7d 0a 0a 0a 2f 2f 23 69 66 64 65 66 N);.}...//#ifdef
06f0: 20 52 50 43 5f 55 4e 49 43 4f 44 45 5f 53 55 50 RPC_UNICODE_SUP
0700: 50 4f 52 54 45 44 0a 52 50 43 5f 53 54 41 54 55 PORTED.RPC_STATU
0710: 53 20 44 63 65 45 72 72 6f 72 49 6e 71 54 65 78 S DceErrorInqTex
0720: 74 41 28 52 50 43 5f 53 54 41 54 55 53 2c 20 63 tA(RPC_STATUS, c
0730: 68 61 72 2a 29 3b 0a 52 50 43 5f 53 54 41 54 55 har*);.RPC_STATU
0740: 53 20 44 63 65 45 72 72 6f 72 49 6e 71 54 65 78 S DceErrorInqTex
0750: 74 57 28 52 50 43 5f 53 54 41 54 55 53 2c 20 77 tW(RPC_STATUS, w
0760: 63 68 61 72 2a 29 3b 0a 52 50 43 5f 53 54 41 54 char*);.RPC_STAT
0770: 55 53 20 52 70 63 4d 67 6d 74 45 70 45 6c 74 49 US RpcMgmtEpEltI
0780: 6e 71 4e 65 78 74 41 28 52 50 43 5f 45 50 5f 49 nqNextA(RPC_EP_I
0790: 4e 51 5f 48 41 4e 44 4c 45 2c 20 52 50 43 5f 49 NQ_HANDLE, RPC_I
07a0: 46 5f 49 44 2a 2c 0a 20 20 52 50 43 5f 42 49 4e F_ID*,. RPC_BIN
07b0: 44 49 4e 47 5f 48 41 4e 44 4c 45 2a 2c 20 55 55 DING_HANDLE*, UU
07c0: 49 44 2a 2c 20 63 68 61 72 2a 2a 29 3b 0a 52 50 ID*, char**);.RP
07d0: 43 5f 53 54 41 54 55 53 20 52 70 63 4d 67 6d 74 C_STATUS RpcMgmt
07e0: 45 70 45 6c 74 49 6e 71 4e 65 78 74 57 28 52 50 EpEltInqNextW(RP
07f0: 43 5f 45 50 5f 49 4e 51 5f 48 41 4e 44 4c 45 2c C_EP_INQ_HANDLE,
0800: 20 52 50 43 5f 49 46 5f 49 44 2a 2c 0a 20 20 52 RPC_IF_ID*,. R
0810: 50 43 5f 42 49 4e 44 49 4e 47 5f 48 41 4e 44 4c PC_BINDING_HANDL
0820: 45 2a 2c 20 55 55 49 44 2a 2c 20 77 63 68 61 72 E*, UUID*, wchar
0830: 2a 2a 29 3b 0a 76 65 72 73 69 6f 6e 20 28 55 6e **);.version (Un
0840: 69 63 6f 64 65 29 20 7b 0a 09 61 6c 69 61 73 20 icode) {..alias
0850: 52 70 63 4d 67 6d 74 45 70 45 6c 74 49 6e 71 4e RpcMgmtEpEltInqN
0860: 65 78 74 57 20 52 70 63 4d 67 6d 74 45 70 45 6c extW RpcMgmtEpEl
0870: 74 49 6e 71 4e 65 78 74 3b 0a 09 61 6c 69 61 73 tInqNext;..alias
0880: 20 44 63 65 45 72 72 6f 72 49 6e 71 54 65 78 74 DceErrorInqText
0890: 57 20 44 63 65 45 72 72 6f 72 49 6e 71 54 65 78 W DceErrorInqTex
08a0: 74 3b 0a 7d 20 65 6c 73 65 20 7b 0a 09 61 6c 69 t;.} else {..ali
08b0: 61 73 20 52 70 63 4d 67 6d 74 45 70 45 6c 74 49 as RpcMgmtEpEltI
08c0: 6e 71 4e 65 78 74 41 20 52 70 63 4d 67 6d 74 45 nqNextA RpcMgmtE
08d0: 70 45 6c 74 49 6e 71 4e 65 78 74 3b 0a 09 61 6c pEltInqNext;..al
08e0: 69 61 73 20 44 63 65 45 72 72 6f 72 49 6e 71 54 ias DceErrorInqT
08f0: 65 78 74 41 20 44 63 65 45 72 72 6f 72 49 6e 71 extA DceErrorInq
0900: 54 65 78 74 3b 0a 7d 0a 2f 2b 0a 23 65 6c 73 65 Text;.}./+.#else
0910: 20 2f 2a 20 52 50 43 5f 55 4e 49 43 4f 44 45 5f /* RPC_UNICODE_
0920: 53 55 50 50 4f 52 54 45 44 20 2a 2f 0a 09 52 50 SUPPORTED */..RP
0930: 43 5f 53 54 41 54 55 53 20 52 50 43 5f 45 4e 54 C_STATUS RPC_ENT
0940: 52 59 20 44 63 65 45 72 72 6f 72 49 6e 71 54 65 RY DceErrorInqTe
0950: 78 74 28 52 50 43 5f 53 54 41 54 55 53 2c 75 6e xt(RPC_STATUS,un
0960: 73 69 67 6e 65 64 20 63 68 61 72 2a 29 3b 0a 09 signed char*);..
0970: 52 50 43 5f 53 54 41 54 55 53 20 52 50 43 5f 45 RPC_STATUS RPC_E
0980: 4e 54 52 59 20 52 70 63 4d 67 6d 74 45 70 45 6c NTRY RpcMgmtEpEl
0990: 74 49 6e 71 4e 65 78 74 28 52 50 43 5f 45 50 5f tInqNext(RPC_EP_
09a0: 49 4e 51 5f 48 41 4e 44 4c 45 2c 52 50 43 5f 49 INQ_HANDLE,RPC_I
09b0: 46 5f 49 44 2a 2c 52 50 43 5f 42 49 4e 44 49 4e F_ID*,RPC_BINDIN
09c0: 47 5f 48 41 4e 44 4c 45 2a 2c 55 55 49 44 2a 2c G_HANDLE*,UUID*,
09d0: 75 6e 73 69 67 6e 65 64 20 63 68 61 72 2a 2a 29 unsigned char**)
09e0: 3b 0a 23 65 6e 64 69 66 0a 2b 2f 0a ;.#endif.+/.