Hex Artifact Content

Not logged in

Artifact 7597e66a5d41bac60a2bc46990c07fab30d41d2e:


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 0d 0a 2a 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 20 72 70 63 64 63             rpcdc
0070: 65 32 2e 64 20 20 20 20 20 20 20 20 20 20 20 20  e2.d            
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0090: 20 20 20 2a 0d 0a 2a 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 20 20 2a 0d                *.
00e0: 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .*              
00f0: 20 20 20 20 20 20 20 20 20 57 69 6e 64 6f 77 73           Windows
0100: 20 41 50 49 20 68 65 61 64 65 72 20 6d 6f 64 75   API header modu
0110: 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20  le              
0120: 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 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: 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20      *..*        
0180: 20 20 20 20 20 20 20 20 20 54 72 61 6e 73 6c 61           Transla
0190: 74 65 64 20 66 72 6f 6d 20 4d 69 6e 47 57 20 57  ted from MinGW W
01a0: 69 6e 64 6f 77 73 20 68 65 61 64 65 72 73 20 20  indows headers  
01b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a                 *
01c0: 0d 0a 2a 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 20 20 20 20 20 20 2a 0d 0a 2a 20 20            *..*  
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0220: 20 20 20 20 20 50 6c 61 63 65 64 20 69 6e 74 6f       Placed into
0230: 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 20 20   public domain  
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0250: 20 20 20 20 20 2a 0d 0a 5c 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 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02a0: 2f 0d 0a 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e  /..module win32.
02b0: 72 70 63 64 63 65 32 3b 0d 0a 0d 0a 69 6d 70 6f  rpcdce2;....impo
02c0: 72 74 20 77 69 6e 33 32 2e 72 70 63 64 63 65 3b  rt win32.rpcdce;
02d0: 0d 0a 70 72 69 76 61 74 65 20 69 6d 70 6f 72 74  ..private import
02e0: 20 77 69 6e 33 32 2e 62 61 73 65 74 79 70 73 3b   win32.basetyps;
02f0: 0d 0a 0d 0a 2f 2f 20 46 49 58 4d 45 3a 20 64 65  ....// FIXME: de
0300: 61 6c 20 77 69 74 68 20 52 50 43 5f 55 4e 49 43  al with RPC_UNIC
0310: 4f 44 45 5f 53 55 50 50 4f 52 54 45 44 0d 0a 2f  ODE_SUPPORTED../
0320: 2f 20 46 49 58 4d 45 3a 20 63 68 65 63 6b 20 74  / FIXME: check t
0330: 79 70 65 73 20 6f 66 20 63 6f 6e 73 74 61 6e 74  ypes of constant
0340: 73 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 52 50  s....enum {...RP
0350: 43 5f 43 5f 45 50 5f 41 4c 4c 5f 45 4c 54 53 2c  C_C_EP_ALL_ELTS,
0360: 0d 0a 09 52 50 43 5f 43 5f 45 50 5f 4d 41 54 43  ...RPC_C_EP_MATC
0370: 48 5f 42 59 5f 49 46 2c 0d 0a 09 52 50 43 5f 43  H_BY_IF,...RPC_C
0380: 5f 45 50 5f 4d 41 54 43 48 5f 42 59 5f 4f 42 4a  _EP_MATCH_BY_OBJ
0390: 2c 0d 0a 09 52 50 43 5f 43 5f 45 50 5f 4d 41 54  ,...RPC_C_EP_MAT
03a0: 43 48 5f 42 59 5f 42 4f 54 48 0d 0a 7d 0d 0a 0d  CH_BY_BOTH..}...
03b0: 0a 65 6e 75 6d 20 7b 0d 0a 09 52 50 43 5f 43 5f  .enum {...RPC_C_
03c0: 56 45 52 53 5f 41 4c 4c 20 3d 20 31 2c 0d 0a 09  VERS_ALL = 1,...
03d0: 52 50 43 5f 43 5f 56 45 52 53 5f 43 4f 4d 50 41  RPC_C_VERS_COMPA
03e0: 54 49 42 4c 45 2c 0d 0a 09 52 50 43 5f 43 5f 56  TIBLE,...RPC_C_V
03f0: 45 52 53 5f 45 58 41 43 54 2c 0d 0a 09 52 50 43  ERS_EXACT,...RPC
0400: 5f 43 5f 56 45 52 53 5f 4d 41 4a 4f 52 5f 4f 4e  _C_VERS_MAJOR_ON
0410: 4c 59 2c 0d 0a 09 52 50 43 5f 43 5f 56 45 52 53  LY,...RPC_C_VERS
0420: 5f 55 50 54 4f 0d 0a 7d 0d 0a 0d 0a 63 6f 6e 73  _UPTO..}....cons
0430: 74 20 73 69 7a 65 5f 74 20 44 43 45 5f 43 5f 45  t size_t DCE_C_E
0440: 52 52 4f 52 5f 53 54 52 49 4e 47 5f 4c 45 4e 20  RROR_STRING_LEN 
0450: 3d 20 32 35 36 3b 0d 0a 0d 0a 65 6e 75 6d 20 7b  = 256;....enum {
0460: 0d 0a 09 52 50 43 5f 43 5f 4d 47 4d 54 5f 49 4e  ...RPC_C_MGMT_IN
0470: 51 5f 49 46 5f 49 44 53 2c 0d 0a 09 52 50 43 5f  Q_IF_IDS,...RPC_
0480: 43 5f 4d 47 4d 54 5f 49 4e 51 5f 50 52 49 4e 43  C_MGMT_INQ_PRINC
0490: 5f 4e 41 4d 45 2c 0d 0a 09 52 50 43 5f 43 5f 4d  _NAME,...RPC_C_M
04a0: 47 4d 54 5f 49 4e 51 5f 53 54 41 54 53 2c 0d 0a  GMT_INQ_STATS,..
04b0: 09 52 50 43 5f 43 5f 4d 47 4d 54 5f 49 53 5f 53  .RPC_C_MGMT_IS_S
04c0: 45 52 56 45 52 5f 4c 49 53 54 45 4e 2c 0d 0a 09  ERVER_LISTEN,...
04d0: 52 50 43 5f 43 5f 4d 47 4d 54 5f 53 54 4f 50 5f  RPC_C_MGMT_STOP_
04e0: 53 45 52 56 45 52 5f 4c 49 53 54 45 4e 0d 0a 7d  SERVER_LISTEN..}
04f0: 0d 0a 0d 0a 65 78 74 65 72 6e 20 28 57 69 6e 64  ....extern (Wind
0500: 6f 77 73 29 20 7b 0d 0a 09 69 6e 74 20 55 75 69  ows) {...int Uui
0510: 64 43 6f 6d 70 61 72 65 28 55 55 49 44 2a 2c 20  dCompare(UUID*, 
0520: 55 55 49 44 2a 2c 20 52 50 43 5f 53 54 41 54 55  UUID*, RPC_STATU
0530: 53 2a 29 3b 0d 0a 09 52 50 43 5f 53 54 41 54 55  S*);...RPC_STATU
0540: 53 20 55 75 69 64 43 72 65 61 74 65 4e 69 6c 28  S UuidCreateNil(
0550: 55 55 49 44 2a 29 3b 0d 0a 09 69 6e 74 20 55 75  UUID*);...int Uu
0560: 69 64 45 71 75 61 6c 28 55 55 49 44 2a 2c 20 55  idEqual(UUID*, U
0570: 55 49 44 2a 2c 20 52 50 43 5f 53 54 41 54 55 53  UID*, RPC_STATUS
0580: 2a 29 3b 0d 0a 09 75 73 68 6f 72 74 20 55 75 69  *);...ushort Uui
0590: 64 48 61 73 68 28 55 55 49 44 2a 2c 20 52 50 43  dHash(UUID*, RPC
05a0: 5f 53 54 41 54 55 53 2a 29 3b 0d 0a 09 69 6e 74  _STATUS*);...int
05b0: 20 55 75 69 64 49 73 4e 69 6c 28 55 55 49 44 2a   UuidIsNil(UUID*
05c0: 2c 20 52 50 43 5f 53 54 41 54 55 53 2a 29 3b 0d  , RPC_STATUS*);.
05d0: 0a 0d 0a 09 52 50 43 5f 53 54 41 54 55 53 20 52  ....RPC_STATUS R
05e0: 70 63 4d 67 6d 74 45 70 45 6c 74 49 6e 71 42 65  pcMgmtEpEltInqBe
05f0: 67 69 6e 28 52 50 43 5f 42 49 4e 44 49 4e 47 5f  gin(RPC_BINDING_
0600: 48 41 4e 44 4c 45 2c 20 75 69 6e 74 2c 20 52 50  HANDLE, uint, RP
0610: 43 5f 49 46 5f 49 44 2a 2c 0d 0a 09 20 20 75 69  C_IF_ID*,...  ui
0620: 6e 74 2c 20 55 55 49 44 2a 2c 20 52 50 43 5f 45  nt, UUID*, RPC_E
0630: 50 5f 49 4e 51 5f 48 41 4e 44 4c 45 2a 29 3b 0d  P_INQ_HANDLE*);.
0640: 0a 09 52 50 43 5f 53 54 41 54 55 53 20 52 70 63  ..RPC_STATUS Rpc
0650: 4d 67 6d 74 45 70 45 6c 74 49 6e 71 44 6f 6e 65  MgmtEpEltInqDone
0660: 28 52 50 43 5f 45 50 5f 49 4e 51 5f 48 41 4e 44  (RPC_EP_INQ_HAND
0670: 4c 45 2a 29 3b 0d 0a 09 52 50 43 5f 53 54 41 54  LE*);...RPC_STAT
0680: 55 53 20 52 70 63 4d 67 6d 74 45 70 55 6e 72 65  US RpcMgmtEpUnre
0690: 67 69 73 74 65 72 28 52 50 43 5f 42 49 4e 44 49  gister(RPC_BINDI
06a0: 4e 47 5f 48 41 4e 44 4c 45 2c 20 52 50 43 5f 49  NG_HANDLE, RPC_I
06b0: 46 5f 49 44 2a 2c 0d 0a 09 20 20 52 50 43 5f 42  F_ID*,...  RPC_B
06c0: 49 4e 44 49 4e 47 5f 48 41 4e 44 4c 45 2c 20 55  INDING_HANDLE, U
06d0: 55 49 44 2a 29 3b 0d 0a 09 52 50 43 5f 53 54 41  UID*);...RPC_STA
06e0: 54 55 53 20 52 70 63 4d 67 6d 74 53 65 74 41 75  TUS RpcMgmtSetAu
06f0: 74 68 6f 72 69 7a 61 74 69 6f 6e 46 6e 28 52 50  thorizationFn(RP
0700: 43 5f 4d 47 4d 54 5f 41 55 54 48 4f 52 49 5a 41  C_MGMT_AUTHORIZA
0710: 54 49 4f 4e 5f 46 4e 29 3b 0d 0a 7d 0d 0a 0d 0a  TION_FN);..}....
0720: 0d 0a 2f 2f 23 69 66 64 65 66 20 52 50 43 5f 55  ..//#ifdef RPC_U
0730: 4e 49 43 4f 44 45 5f 53 55 50 50 4f 52 54 45 44  NICODE_SUPPORTED
0740: 0d 0a 52 50 43 5f 53 54 41 54 55 53 20 44 63 65  ..RPC_STATUS Dce
0750: 45 72 72 6f 72 49 6e 71 54 65 78 74 41 28 52 50  ErrorInqTextA(RP
0760: 43 5f 53 54 41 54 55 53 2c 20 63 68 61 72 2a 29  C_STATUS, char*)
0770: 3b 0d 0a 52 50 43 5f 53 54 41 54 55 53 20 44 63  ;..RPC_STATUS Dc
0780: 65 45 72 72 6f 72 49 6e 71 54 65 78 74 57 28 52  eErrorInqTextW(R
0790: 50 43 5f 53 54 41 54 55 53 2c 20 77 63 68 61 72  PC_STATUS, wchar
07a0: 2a 29 3b 0d 0a 52 50 43 5f 53 54 41 54 55 53 20  *);..RPC_STATUS 
07b0: 52 70 63 4d 67 6d 74 45 70 45 6c 74 49 6e 71 4e  RpcMgmtEpEltInqN
07c0: 65 78 74 41 28 52 50 43 5f 45 50 5f 49 4e 51 5f  extA(RPC_EP_INQ_
07d0: 48 41 4e 44 4c 45 2c 20 52 50 43 5f 49 46 5f 49  HANDLE, RPC_IF_I
07e0: 44 2a 2c 0d 0a 20 20 52 50 43 5f 42 49 4e 44 49  D*,..  RPC_BINDI
07f0: 4e 47 5f 48 41 4e 44 4c 45 2a 2c 20 55 55 49 44  NG_HANDLE*, UUID
0800: 2a 2c 20 63 68 61 72 2a 2a 29 3b 0d 0a 52 50 43  *, char**);..RPC
0810: 5f 53 54 41 54 55 53 20 52 70 63 4d 67 6d 74 45  _STATUS RpcMgmtE
0820: 70 45 6c 74 49 6e 71 4e 65 78 74 57 28 52 50 43  pEltInqNextW(RPC
0830: 5f 45 50 5f 49 4e 51 5f 48 41 4e 44 4c 45 2c 20  _EP_INQ_HANDLE, 
0840: 52 50 43 5f 49 46 5f 49 44 2a 2c 0d 0a 20 20 52  RPC_IF_ID*,..  R
0850: 50 43 5f 42 49 4e 44 49 4e 47 5f 48 41 4e 44 4c  PC_BINDING_HANDL
0860: 45 2a 2c 20 55 55 49 44 2a 2c 20 77 63 68 61 72  E*, UUID*, wchar
0870: 2a 2a 29 3b 0d 0a 76 65 72 73 69 6f 6e 20 28 55  **);..version (U
0880: 6e 69 63 6f 64 65 29 20 7b 0d 0a 09 61 6c 69 61  nicode) {...alia
0890: 73 20 52 70 63 4d 67 6d 74 45 70 45 6c 74 49 6e  s RpcMgmtEpEltIn
08a0: 71 4e 65 78 74 57 20 52 70 63 4d 67 6d 74 45 70  qNextW RpcMgmtEp
08b0: 45 6c 74 49 6e 71 4e 65 78 74 3b 0d 0a 09 61 6c  EltInqNext;...al
08c0: 69 61 73 20 44 63 65 45 72 72 6f 72 49 6e 71 54  ias DceErrorInqT
08d0: 65 78 74 57 20 44 63 65 45 72 72 6f 72 49 6e 71  extW DceErrorInq
08e0: 54 65 78 74 3b 0d 0a 7d 20 65 6c 73 65 20 7b 0d  Text;..} else {.
08f0: 0a 09 61 6c 69 61 73 20 52 70 63 4d 67 6d 74 45  ..alias RpcMgmtE
0900: 70 45 6c 74 49 6e 71 4e 65 78 74 41 20 52 70 63  pEltInqNextA Rpc
0910: 4d 67 6d 74 45 70 45 6c 74 49 6e 71 4e 65 78 74  MgmtEpEltInqNext
0920: 3b 0d 0a 09 61 6c 69 61 73 20 44 63 65 45 72 72  ;...alias DceErr
0930: 6f 72 49 6e 71 54 65 78 74 41 20 44 63 65 45 72  orInqTextA DceEr
0940: 72 6f 72 49 6e 71 54 65 78 74 3b 0d 0a 7d 0d 0a  rorInqText;..}..
0950: 2f 2b 0d 0a 23 65 6c 73 65 20 2f 2a 20 52 50 43  /+..#else /* RPC
0960: 5f 55 4e 49 43 4f 44 45 5f 53 55 50 50 4f 52 54  _UNICODE_SUPPORT
0970: 45 44 20 2a 2f 0d 0a 09 52 50 43 5f 53 54 41 54  ED */...RPC_STAT
0980: 55 53 20 52 50 43 5f 45 4e 54 52 59 20 44 63 65  US RPC_ENTRY Dce
0990: 45 72 72 6f 72 49 6e 71 54 65 78 74 28 52 50 43  ErrorInqText(RPC
09a0: 5f 53 54 41 54 55 53 2c 75 6e 73 69 67 6e 65 64  _STATUS,unsigned
09b0: 20 63 68 61 72 2a 29 3b 0d 0a 09 52 50 43 5f 53   char*);...RPC_S
09c0: 54 41 54 55 53 20 52 50 43 5f 45 4e 54 52 59 20  TATUS RPC_ENTRY 
09d0: 52 70 63 4d 67 6d 74 45 70 45 6c 74 49 6e 71 4e  RpcMgmtEpEltInqN
09e0: 65 78 74 28 52 50 43 5f 45 50 5f 49 4e 51 5f 48  ext(RPC_EP_INQ_H
09f0: 41 4e 44 4c 45 2c 52 50 43 5f 49 46 5f 49 44 2a  ANDLE,RPC_IF_ID*
0a00: 2c 52 50 43 5f 42 49 4e 44 49 4e 47 5f 48 41 4e  ,RPC_BINDING_HAN
0a10: 44 4c 45 2a 2c 55 55 49 44 2a 2c 75 6e 73 69 67  DLE*,UUID*,unsig
0a20: 6e 65 64 20 63 68 61 72 2a 2a 29 3b 0d 0a 23 65  ned char**);..#e
0a30: 6e 64 69 66 0d 0a 2b 2f 0d 0a                    ndif..+/..