File: rpcdcep.d

package info (click to toggle)
gcc-arm-none-eabi 15%3A12.2.rel1-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 959,712 kB
  • sloc: cpp: 3,275,382; ansic: 2,061,766; ada: 840,956; f90: 208,513; makefile: 76,132; asm: 73,433; xml: 50,448; exp: 34,146; sh: 32,436; objc: 15,637; fortran: 14,012; python: 11,991; pascal: 6,787; awk: 4,779; perl: 3,054; yacc: 338; ml: 285; lex: 201; haskell: 122
file content (154 lines) | stat: -rw-r--r-- 4,738 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
/**
 * Windows API header module
 *
 * Translated from MinGW Windows headers
 *
 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
 * Source: $(DRUNTIMESRC core/sys/windows/_rpcdcep.d)
 */
module core.sys.windows.rpcdcep;
version (Windows):
@system:

version (ANSI) {} else version = Unicode;

import core.sys.windows.basetyps;
import core.sys.windows.w32api;
import core.sys.windows.windef;

mixin DECLARE_HANDLE!("I_RPC_HANDLE");
alias long RPC_STATUS;

enum RPC_NCA_FLAGS_DEFAULT=0;
enum RPC_NCA_FLAGS_IDEMPOTENT=1;
enum RPC_NCA_FLAGS_BROADCAST=2;
enum RPC_NCA_FLAGS_MAYBE=4;
enum RPCFLG_ASYNCHRONOUS=0x40000000;
enum RPCFLG_INPUT_SYNCHRONOUS=0x20000000;
enum RPC_FLAGS_VALID_BIT=0x8000;

enum TRANSPORT_TYPE_CN=1;
enum TRANSPORT_TYPE_DG=2;
enum TRANSPORT_TYPE_LPC=4;
enum TRANSPORT_TYPE_WMSG=8;

struct RPC_VERSION {
    ushort MajorVersion;
    ushort MinorVersion;
}
struct RPC_SYNTAX_IDENTIFIER {
    GUID        SyntaxGUID;
    RPC_VERSION SyntaxVersion;
}
alias RPC_SYNTAX_IDENTIFIER* PRPC_SYNTAX_IDENTIFIER;

struct RPC_MESSAGE {
    HANDLE Handle;
    uint  DataRepresentation;
    void* Buffer;
    uint  BufferLength;
    uint  ProcNum;
    PRPC_SYNTAX_IDENTIFIER TransferSyntax;
    void* RpcInterfaceInformation;
    void* ReservedForRuntime;
    void* ManagerEpv;
    void* ImportContext;
    uint  RpcFlags;
}
alias RPC_MESSAGE* PRPC_MESSAGE;

extern (Windows) {
alias void function (PRPC_MESSAGE Message) RPC_DISPATCH_FUNCTION;
}

struct RPC_DISPATCH_TABLE {
    uint DispatchTableCount;
    RPC_DISPATCH_FUNCTION* DispatchTable;
    LONG_PTR Reserved;
}
alias RPC_DISPATCH_TABLE* PRPC_DISPATCH_TABLE;

struct RPC_PROTSEQ_ENDPOINT {
    ubyte* RpcProtocolSequence;
    ubyte* Endpoint;
}
alias RPC_PROTSEQ_ENDPOINT* PRPC_PROTSEQ_ENDPOINT;

struct RPC_SERVER_INTERFACE {
    uint                  Length;
    RPC_SYNTAX_IDENTIFIER InterfaceId;
    RPC_SYNTAX_IDENTIFIER TransferSyntax;
    PRPC_DISPATCH_TABLE   DispatchTable;
    uint                  RpcProtseqEndpointCount;
    PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint;
    void*                 DefaultManagerEpv;
const(void)*          InterpreterInfo;
}
alias RPC_SERVER_INTERFACE* PRPC_SERVER_INTERFACE;

struct RPC_CLIENT_INTERFACE {
    uint                  Length;
    RPC_SYNTAX_IDENTIFIER InterfaceId;
    RPC_SYNTAX_IDENTIFIER TransferSyntax;
    PRPC_DISPATCH_TABLE   DispatchTable;
    uint                  RpcProtseqEndpointCount;
    PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint;
    ULONG_PTR             Reserved;
const(void)*          InterpreterInfo;
}
alias RPC_CLIENT_INTERFACE* PRPC_CLIENT_INTERFACE;

alias TypeDef!(void*) I_RPC_MUTEX;

struct RPC_TRANSFER_SYNTAX {
    GUID   Uuid;
    ushort VersMajor;
    ushort VersMinor;
}
alias RPC_STATUS function(void*, void*, void*) RPC_BLOCKING_FN;

extern (Windows) {
    alias void function(void*) PRPC_RUNDOWN;

    int    I_RpcGetBuffer(RPC_MESSAGE*);
    int    I_RpcSendReceive(RPC_MESSAGE*);
    int    I_RpcSend(RPC_MESSAGE*);
    int    I_RpcFreeBuffer(RPC_MESSAGE*);
    void   I_RpcRequestMutex(I_RPC_MUTEX*);
    void   I_RpcClearMutex(I_RPC_MUTEX);
    void   I_RpcDeleteMutex(I_RPC_MUTEX);
    void*  I_RpcAllocate(uint);
    void   I_RpcFree(void*);
    void   I_RpcPauseExecution(uint);
    int    I_RpcMonitorAssociation(HANDLE, PRPC_RUNDOWN, void*);
    int    I_RpcStopMonitorAssociation(HANDLE);
    HANDLE I_RpcGetCurrentCallHandle();
    int    I_RpcGetAssociationContext(void**);
    int    I_RpcSetAssociationContext(void*);
    int    I_RpcNsBindingSetEntryName(HANDLE, uint, wchar*);
    int    I_RpcBindingInqDynamicEndpoint(HANDLE, wchar**);
    int    I_RpcBindingInqTransportType(HANDLE, uint*);
    int    I_RpcIfInqTransferSyntaxes(HANDLE, RPC_TRANSFER_SYNTAX*, uint,
             uint*);
    int    I_UuidCreate(GUID*);
    int    I_RpcBindingCopy(HANDLE, HANDLE*);
    int    I_RpcBindingIsClientLocal(HANDLE, uint*);
    void   I_RpcSsDontSerializeContext();
    int    I_RpcServerRegisterForwardFunction(int function (GUID*,
             RPC_VERSION*, GUID*, ubyte*, void**));
    int    I_RpcConnectionInqSockBuffSize(uint*, uint*);
    int    I_RpcConnectionSetSockBuffSize(uint, uint);
    int    I_RpcBindingSetAsync(HANDLE, RPC_BLOCKING_FN);
    int    I_RpcAsyncSendReceive(RPC_MESSAGE*, void*);
    int    I_RpcGetThreadWindowHandle(void**);
    int    I_RpcServerThreadPauseListening();
    int    I_RpcServerThreadContinueListening();
    int    I_RpcServerUnregisterEndpointA(ubyte*, ubyte*);
    int    I_RpcServerUnregisterEndpointW(ushort*, ushort*);
}

version (Unicode) {
    alias I_RpcServerUnregisterEndpointW I_RpcServerUnregisterEndpoint;
} else {
    alias I_RpcServerUnregisterEndpointA I_RpcServerUnregisterEndpoint;
}