Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
bea0b255
Commit
bea0b255
authored
Mar 03, 2004
by
Robert Shearman
Committed by
Alexandre Julliard
Mar 03, 2004
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
- Add more RPC format characters.
- Add some NDR functions and structures.
parent
c7201ce3
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
136 additions
and
7 deletions
+136
-7
rpcndr.h
include/rpcndr.h
+112
-2
rpcfc.h
include/wine/rpcfc.h
+24
-5
No files found.
include/rpcndr.h
View file @
bea0b255
...
...
@@ -308,8 +308,83 @@ typedef enum {
PROXY_UNMARSHAL
}
PROXY_PHASE
;
typedef
enum
{
XLAT_SERVER
=
1
,
XLAT_CLIENT
}
XLAT_SIDE
;
typedef
struct
_FULL_PTR_TO_REFID_ELEMENT
{
struct
_FULL_PTR_TO_REFID_ELEMENT
*
Next
;
void
*
Pointer
;
unsigned
long
RefId
;
unsigned
char
State
;
}
FULL_PTR_TO_REFID_ELEMENT
,
*
PFULL_PTR_TO_REFID_ELEMENT
;
/* Full pointer translation tables */
typedef
struct
_FULL_PTR_XLAT_TABLES
{
struct
{
void
**
XlatTable
;
unsigned
char
*
StateTable
;
unsigned
long
NumberOfEntries
;
}
RefIdToPointer
;
struct
{
PFULL_PTR_TO_REFID_ELEMENT
*
XlatTable
;
unsigned
long
NumberOfBuckets
;
unsigned
long
HashMask
;
}
PointerToRefId
;
unsigned
long
NextRefId
;
XLAT_SIDE
XlatSide
;
}
FULL_PTR_XLAT_TABLES
,
*
PFULL_PTR_XLAT_TABLES
;
struct
IRpcStubBuffer
;
typedef
unsigned
long
error_status_t
;
typedef
void
*
NDR_CCONTEXT
;
typedef
struct
_SCONTEXT_QUEUE
{
unsigned
long
NumberOfObjects
;
NDR_SCONTEXT
*
ArrayOfObjects
;
}
SCONTEXT_QUEUE
,
*
PSCONTEXT_QUEUE
;
RPCRTAPI
RPC_BINDING_HANDLE
RPC_ENTRY
NDRCContextBinding
(
IN
NDR_CCONTEXT
CContext
);
RPCRTAPI
void
RPC_ENTRY
NDRCContextMarshall
(
IN
NDR_CCONTEXT
CContext
,
OUT
void
*
pBuff
);
RPCRTAPI
void
RPC_ENTRY
NDRCContextUnmarshall
(
OUT
NDR_CCONTEXT
*
pCContext
,
IN
RPC_BINDING_HANDLE
hBinding
,
IN
void
*
pBuff
,
IN
unsigned
long
DataRepresentation
);
RPCRTAPI
void
RPC_ENTRY
NDRSContextMarshall
(
IN
NDR_SCONTEXT
CContext
,
OUT
void
*
pBuff
,
IN
NDR_RUNDOWN
userRunDownIn
);
RPCRTAPI
NDR_SCONTEXT
RPC_ENTRY
NDRSContextUnmarshall
(
IN
void
*
pBuff
,
IN
unsigned
long
DataRepresentation
);
RPCRTAPI
void
RPC_ENTRY
NDRSContextMarshallEx
(
IN
RPC_BINDING_HANDLE
BindingHandle
,
IN
NDR_SCONTEXT
CContext
,
OUT
void
*
pBuff
,
IN
NDR_RUNDOWN
userRunDownIn
);
RPCRTAPI
void
RPC_ENTRY
NDRSContextMarshall2
(
IN
RPC_BINDING_HANDLE
BindingHandle
,
IN
NDR_SCONTEXT
CContext
,
OUT
void
*
pBuff
,
IN
NDR_RUNDOWN
userRunDownIn
,
IN
void
*
CtxGuard
,
IN
unsigned
long
Flags
);
RPCRTAPI
NDR_SCONTEXT
RPC_ENTRY
NDRSContextUnmarshallEx
(
IN
RPC_BINDING_HANDLE
BindingHandle
,
IN
void
*
pBuff
,
IN
unsigned
long
DataRepresentation
);
RPCRTAPI
NDR_SCONTEXT
RPC_ENTRY
NDRSContextUnmarshall2
(
IN
RPC_BINDING_HANDLE
BindingHandle
,
IN
void
*
pBuff
,
IN
unsigned
long
DataRepresentation
,
IN
void
*
CtxGuard
,
IN
unsigned
long
Flags
);
RPCRTAPI
void
RPC_ENTRY
RpcSsDestroyClientContext
(
IN
void
**
ContextHandle
);
RPCRTAPI
void
RPC_ENTRY
NdrSimpleTypeMarshall
(
PMIDL_STUB_MESSAGE
pStubMsg
,
unsigned
char
*
pMemory
,
unsigned
char
FormatChar
);
RPCRTAPI
void
RPC_ENTRY
...
...
@@ -359,9 +434,9 @@ RPCRTAPI void RPC_ENTRY
RPCRTAPI
void
RPC_ENTRY
NdrConvert
(
PMIDL_STUB_MESSAGE
pStubMsg
,
PFORMAT_STRING
pFormat
);
LONG_PTR
/* CLIENT_CALL_RETURN */
RPC_VAR_ENTRY
LONG_PTR
RPC_VAR_ENTRY
NdrClientCall2
(
PMIDL_STUB_DESC
pStubDescriptor
,
PFORMAT_STRING
pFormat
,
...
);
LONG_PTR
/* CLIENT_CALL_RETURN */
RPC_VAR_ENTRY
LONG_PTR
RPC_VAR_ENTRY
NdrClientCall
(
PMIDL_STUB_DESC
pStubDescriptor
,
PFORMAT_STRING
pFormat
,
...
);
RPCRTAPI
void
RPC_ENTRY
...
...
@@ -397,4 +472,39 @@ RPCRTAPI void RPC_ENTRY
RPCRTAPI
unsigned
char
*
RPC_ENTRY
NdrSendReceive
(
MIDL_STUB_MESSAGE
*
stubmsg
,
unsigned
char
*
buffer
);
RPCRTAPI
unsigned
char
*
RPC_ENTRY
NdrNsGetBuffer
(
PMIDL_STUB_MESSAGE
pStubMsg
,
unsigned
long
BufferLength
,
RPC_BINDING_HANDLE
Handle
);
RPCRTAPI
unsigned
char
*
RPC_ENTRY
NdrNsSendReceive
(
PMIDL_STUB_MESSAGE
pStubMsg
,
unsigned
char
*
pBufferEnd
,
RPC_BINDING_HANDLE
*
pAutoHandle
);
RPCRTAPI
PFULL_PTR_XLAT_TABLES
RPC_ENTRY
NdrFullPointerXlatInit
(
unsigned
long
NumberOfPointers
,
XLAT_SIDE
XlatSide
);
RPCRTAPI
void
RPC_ENTRY
NdrFullPointerXlatFree
(
PFULL_PTR_XLAT_TABLES
pXlatTables
);
RPCRTAPI
int
RPC_ENTRY
NdrFullPointerQueryPointer
(
PFULL_PTR_XLAT_TABLES
pXlatTables
,
void
*
pPointer
,
unsigned
char
QueryType
,
unsigned
long
*
pRefId
);
RPCRTAPI
int
RPC_ENTRY
NdrFullPointerQueryRefId
(
PFULL_PTR_XLAT_TABLES
pXlatTables
,
unsigned
long
RefId
,
unsigned
char
QueryType
,
void
**
ppPointer
);
RPCRTAPI
void
RPC_ENTRY
NdrFullPointerInsertRefId
(
PFULL_PTR_XLAT_TABLES
pXlatTables
,
unsigned
long
RefId
,
void
*
pPointer
);
RPCRTAPI
int
RPC_ENTRY
NdrFullPointerFree
(
PFULL_PTR_XLAT_TABLES
pXlatTables
,
void
*
Pointer
);
RPCRTAPI
void
RPC_ENTRY
NdrRpcSsEnableAllocate
(
PMIDL_STUB_MESSAGE
pMessage
);
RPCRTAPI
void
RPC_ENTRY
NdrRpcSsDisableAllocate
(
PMIDL_STUB_MESSAGE
pMessage
);
RPCRTAPI
void
RPC_ENTRY
NdrRpcSmSetClientToOsf
(
PMIDL_STUB_MESSAGE
pMessage
);
RPCRTAPI
void
*
RPC_ENTRY
NdrRpcSmClientAllocate
(
IN
size_t
Size
);
RPCRTAPI
void
RPC_ENTRY
NdrRpcSmClientFree
(
IN
void
*
NodeToFree
);
RPCRTAPI
void
*
RPC_ENTRY
NdrRpcSsDefaultAllocate
(
IN
size_t
Size
);
RPCRTAPI
void
RPC_ENTRY
NdrRpcSsDefaultFree
(
IN
void
*
NodeToFree
);
#endif
/*__WINE_RPCNDR_H */
include/wine/rpcfc.h
View file @
bea0b255
...
...
@@ -30,11 +30,11 @@
#define RPC_FC_OP 0x13
/* unique pointer in object ? */
#define RPC_FC_FP 0x14
/* full pointer */
/* FC_RP/UP/OP/FP: flags, NdrFcShort(typeofs)/basetype */
#define RPC_FC_P_ALLOCALLNODES 0x01
#define RPC_FC_P_DONTFREE 0x02
#define RPC_FC_P_ONSTACK 0x04
/* [alloced_on_stack] */
#define RPC_FC_P_SIMPLEPOINTER 0x08
/* [simple_pointer] */
#define RPC_FC_P_DEREF 0x10
#define RPC_FC_P_ALLOCALLNODES 0x01
#define RPC_FC_P_DONTFREE 0x02
#define RPC_FC_P_ONSTACK 0x04
/* [alloced_on_stack] */
#define RPC_FC_P_SIMPLEPOINTER 0x08
/* [simple_pointer] */
#define RPC_FC_P_DEREF 0x10
#define RPC_FC_STRUCT 0x15
/* simple structure */
/* FC_STRUCT: align-1, NdrFcShort(size), fields */
...
...
@@ -44,6 +44,8 @@
#define RPC_FC_CSTRUCT 0x17
/* conformant structure */
#define RPC_FC_CPSTRUCT 0x18
/* conformant structure w/ pointers */
#define RPC_FC_BOGUS_STRUCT 0x1a
/* complex structure */
#define RPC_FC_CARRAY 0x1b
/* conformant array */
...
...
@@ -53,6 +55,12 @@
#define RPC_FC_SMFARRAY 0x1d
/* small (<64K) fixed array */
/* FC_SMFARRAY: align-1, NdrFcShort(size), ptrs, fields */
#define RPC_FC_LGFARRAY 0x1e
/* large (>= 64k) fixed array */
#define RPC_FC_SMVARRAY 0x1f
/* small (<64k) varying array */
#define RPC_FC_LGVARRAY 0x20
/* large (>= 64k) varying array */
#define RPC_FC_BOGUS_ARRAY 0x21
/* complex array */
#define RPC_FC_C_CSTRING 0x22
...
...
@@ -61,10 +69,16 @@
#define RPC_FC_ENCAPSULATED_UNION 0x2a
#define RPC_FC_NON_ENCAPSULATED_UNION 0x2b
#define RPC_FC_BYTE_COUNT_POINTER 0x2c
/* [byte_count] ACF attribute */
#define RPC_FC_TRANSMIT_AS 0x2d
#define RPC_FC_REPRESENT_AS 0x2e
#define RPC_FC_IP 0x2f
/* interface pointer */
/* FC_IP: FC_CONSTANT_IID iid */
/* FC_IP: FC_PAD correlation */
#define RPC_FC_BIND_EXPLICIT 0x00
#define RPC_FC_BIND_CONTEXT 0x30
#define RPC_FC_BIND_GENERIC 0x31
...
...
@@ -100,6 +114,11 @@
#define RPC_FC_PROC_PF_DONTFREEINST 0x0200
#define RPC_FC_PROC_PF_SAVEASYNC 0x0400
#define RPC_FC_PROC_PF_SRVALLOCSIZE 0xe000
/* in 8 byte units */
#define RPC_FC_PROC_EXT_NEWCORRDESC 0x01
#define RPC_FC_PROC_EXT_CLIENTCORRCHECK 0x02
#define RPC_FC_PROC_EXT_SERVERCORRCHECK 0x04
#define RPC_FC_PROC_EXT_HASNOTIFY 0x08
#define RPC_FC_PROC_EXT_HASNOTIFY2 0x10
#define RPC_FC_POINTER 0x36
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment