Artifact 7597e66a5d41bac60a2bc46990c07fab30d41d2e
- File        
src/win32/rpcdce2.d
- 
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore. (user: kinaba) [annotate]
 
- 
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
/***********************************************************************\
*                               rpcdce2.d                               *
*                                                                       *
*                       Windows API header module                       *
*                                                                       *
*                 Translated from MinGW Windows headers                 *
*                                                                       *
*                       Placed into public domain                       *
\***********************************************************************/
module win32.rpcdce2;
import win32.rpcdce;
private import win32.basetyps;
// FIXME: deal with RPC_UNICODE_SUPPORTED
// FIXME: check types of constants
enum {
	RPC_C_EP_ALL_ELTS,
	RPC_C_EP_MATCH_BY_IF,
	RPC_C_EP_MATCH_BY_OBJ,
	RPC_C_EP_MATCH_BY_BOTH
}
enum {
	RPC_C_VERS_ALL = 1,
	RPC_C_VERS_COMPATIBLE,
	RPC_C_VERS_EXACT,
	RPC_C_VERS_MAJOR_ONLY,
	RPC_C_VERS_UPTO
}
const size_t DCE_C_ERROR_STRING_LEN = 256;
enum {
	RPC_C_MGMT_INQ_IF_IDS,
	RPC_C_MGMT_INQ_PRINC_NAME,
	RPC_C_MGMT_INQ_STATS,
	RPC_C_MGMT_IS_SERVER_LISTEN,
	RPC_C_MGMT_STOP_SERVER_LISTEN
}
extern (Windows) {
	int UuidCompare(UUID*, UUID*, RPC_STATUS*);
	RPC_STATUS UuidCreateNil(UUID*);
	int UuidEqual(UUID*, UUID*, RPC_STATUS*);
	ushort UuidHash(UUID*, RPC_STATUS*);
	int UuidIsNil(UUID*, RPC_STATUS*);
	RPC_STATUS RpcMgmtEpEltInqBegin(RPC_BINDING_HANDLE, uint, RPC_IF_ID*,
	  uint, UUID*, RPC_EP_INQ_HANDLE*);
	RPC_STATUS RpcMgmtEpEltInqDone(RPC_EP_INQ_HANDLE*);
	RPC_STATUS RpcMgmtEpUnregister(RPC_BINDING_HANDLE, RPC_IF_ID*,
	  RPC_BINDING_HANDLE, UUID*);
	RPC_STATUS RpcMgmtSetAuthorizationFn(RPC_MGMT_AUTHORIZATION_FN);
}
//#ifdef RPC_UNICODE_SUPPORTED
RPC_STATUS DceErrorInqTextA(RPC_STATUS, char*);
RPC_STATUS DceErrorInqTextW(RPC_STATUS, wchar*);
RPC_STATUS RpcMgmtEpEltInqNextA(RPC_EP_INQ_HANDLE, RPC_IF_ID*,
  RPC_BINDING_HANDLE*, UUID*, char**);
RPC_STATUS RpcMgmtEpEltInqNextW(RPC_EP_INQ_HANDLE, RPC_IF_ID*,
  RPC_BINDING_HANDLE*, UUID*, wchar**);
version (Unicode) {
	alias RpcMgmtEpEltInqNextW RpcMgmtEpEltInqNext;
	alias DceErrorInqTextW DceErrorInqText;
} else {
	alias RpcMgmtEpEltInqNextA RpcMgmtEpEltInqNext;
	alias DceErrorInqTextA DceErrorInqText;
}
/+
#else /* RPC_UNICODE_SUPPORTED */
	RPC_STATUS RPC_ENTRY DceErrorInqText(RPC_STATUS,unsigned char*);
	RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNext(RPC_EP_INQ_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE*,UUID*,unsigned char**);
#endif
+/