Hex Artifact Content

Not logged in

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.+/.