Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
0b1cc106
Commit
0b1cc106
authored
Nov 13, 2006
by
Rob Shearman
Committed by
Alexandre Julliard
Nov 13, 2006
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
rpcrt4: Convert the server interfaces list into a standard Wine list.
parent
59a90143
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
8 additions
and
9 deletions
+8
-9
rpc_server.c
dlls/rpcrt4/rpc_server.c
+7
-8
rpc_server.h
dlls/rpcrt4/rpc_server.h
+1
-1
No files found.
dlls/rpcrt4/rpc_server.c
View file @
0b1cc106
...
...
@@ -68,7 +68,7 @@ static RpcObjTypeMap *RpcObjTypeMaps;
/* list of type RpcServerProtseq */
static
struct
list
protseqs
=
LIST_INIT
(
protseqs
);
static
RpcServerInterface
*
ifs
;
static
struct
list
server_interfaces
=
LIST_INIT
(
server_interfaces
)
;
static
CRITICAL_SECTION
server_cs
;
static
CRITICAL_SECTION_DEBUG
server_cs_debug
=
...
...
@@ -124,20 +124,19 @@ static RpcServerInterface* RPCRT4_find_interface(UUID* object,
BOOL
check_object
)
{
UUID
*
MgrType
=
NULL
;
RpcServerInterface
*
cif
=
NULL
;
RpcServerInterface
*
cif
;
RPC_STATUS
status
;
if
(
check_object
)
MgrType
=
LookupObjType
(
object
);
EnterCriticalSection
(
&
server_cs
);
cif
=
ifs
;
while
(
cif
)
{
LIST_FOR_EACH_ENTRY
(
cif
,
&
server_interfaces
,
RpcServerInterface
,
entry
)
{
if
(
!
memcmp
(
if_id
,
&
cif
->
If
->
InterfaceId
,
sizeof
(
RPC_SYNTAX_IDENTIFIER
))
&&
(
check_object
==
FALSE
||
UuidEqual
(
MgrType
,
&
cif
->
MgrTypeUuid
,
&
status
))
&&
std_listen
)
break
;
cif
=
cif
->
Next
;
}
LeaveCriticalSection
(
&
server_cs
);
if
(
&
cif
->
entry
==
&
server_interfaces
)
cif
=
NULL
;
TRACE
(
"returning %p for %s
\n
"
,
cif
,
debugstr_guid
(
object
));
return
cif
;
}
...
...
@@ -177,7 +176,8 @@ static void RPCRT4_process_packet(RpcConnection* conn, RpcPktHdr* hdr, RPC_MESSA
response
=
RPCRT4_BuildBindNackHeader
(
NDR_LOCAL_DATA_REPRESENTATION
,
RPC_VER_MAJOR
,
RPC_VER_MINOR
);
}
else
{
TRACE
(
"accepting bind request on connection %p
\n
"
,
conn
);
TRACE
(
"accepting bind request on connection %p for %s
\n
"
,
conn
,
debugstr_guid
(
&
hdr
->
bind
.
abstract
.
SyntaxGUID
));
/* accept. */
response
=
RPCRT4_BuildBindAckHeader
(
NDR_LOCAL_DATA_REPRESENTATION
,
...
...
@@ -784,8 +784,7 @@ RPC_STATUS WINAPI RpcServerRegisterIf2( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid,
sif
->
IfCallbackFn
=
IfCallbackFn
;
EnterCriticalSection
(
&
server_cs
);
sif
->
Next
=
ifs
;
ifs
=
sif
;
list_add_head
(
&
server_interfaces
,
&
sif
->
entry
);
LeaveCriticalSection
(
&
server_cs
);
if
(
sif
->
Flags
&
RPC_IF_AUTOLISTEN
)
...
...
dlls/rpcrt4/rpc_server.h
View file @
0b1cc106
...
...
@@ -61,7 +61,7 @@ struct protseq_ops
typedef
struct
_RpcServerInterface
{
struct
_RpcServerInterface
*
Next
;
struct
list
entry
;
RPC_SERVER_INTERFACE
*
If
;
UUID
MgrTypeUuid
;
RPC_MGR_EPV
*
MgrEpv
;
...
...
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