ReactOS 0.4.15-dev-7897-g78dc504
rpc_server.h File Reference
#include "rpc_binding.h"
#include "wine/list.h"
Include dependency graph for rpc_server.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _RpcServerProtseq
 
struct  protseq_ops
 
struct  _RpcServerInterface
 

Typedefs

typedef struct _RpcServerProtseq RpcServerProtseq
 
typedef struct _RpcServerInterface RpcServerInterface
 

Functions

void RPCRT4_new_client (RpcConnection *conn) DECLSPEC_HIDDEN
 
const struct protseq_opsrpcrt4_get_protseq_ops (const char *protseq) DECLSPEC_HIDDEN
 
void RPCRT4_destroy_all_protseqs (void) DECLSPEC_HIDDEN
 
void RPCRT4_ServerFreeAllRegisteredAuthInfo (void) DECLSPEC_HIDDEN
 

Typedef Documentation

◆ RpcServerInterface

◆ RpcServerProtseq

Function Documentation

◆ RPCRT4_destroy_all_protseqs()

void RPCRT4_destroy_all_protseqs ( void  )

Definition at line 1094 of file rpc_server.c.

1095{
1096 RpcServerProtseq *cps, *cursor2;
1097
1098 if (listen_count != 0)
1099 std_listen = FALSE;
1100
1103 {
1104 if (listen_count != 0)
1107 }
1111}
#define FALSE
Definition: types.h:117
uint32_t entry
Definition: isohybrid.c:63
static LONG listen_count
Definition: rpc_server.c:102
static CRITICAL_SECTION server_cs
Definition: rpc_server.c:72
static void RPCRT4_sync_with_server_thread(RpcServerProtseq *ps)
Definition: rpc_server.c:708
static BOOL std_listen
Definition: rpc_server.c:100
static void destroy_serverprotoseq(RpcServerProtseq *ps)
Definition: rpc_server.c:975
static struct list protseqs
Definition: rpc_server.c:68
static CRITICAL_SECTION listen_cs
Definition: rpc_server.c:81
#define LIST_FOR_EACH_ENTRY_SAFE(cursor, cursor2, list, type, field)
Definition: list.h:204
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)

Referenced by DllMain().

◆ rpcrt4_get_protseq_ops()

const struct protseq_ops * rpcrt4_get_protseq_ops ( const char protseq)

Definition at line 3590 of file rpc_transport.c.

3591{
3592 unsigned int i;
3593 for(i = 0; i < ARRAY_SIZE(protseq_list); i++)
3594 if (!strcmp(protseq_list[i].name, protseq))
3595 return &protseq_list[i];
3596 return NULL;
3597}
int strcmp(const char *String1, const char *String2)
Definition: utclib.c:469
#define ARRAY_SIZE(A)
Definition: main.h:33
#define NULL
Definition: types.h:112
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
static const struct protseq_ops protseq_list[]
Definition: name.c:39

Referenced by alloc_serverprotoseq().

◆ RPCRT4_new_client()

void RPCRT4_new_client ( RpcConnection conn)

Definition at line 625 of file rpc_server.c.

626{
628 if (!thread) {
630 ERR("failed to create thread, error=%08x\n", err);
632 }
633 /* we could set conn->thread, but then we'd have to make the io_thread wait
634 * for that, otherwise the thread might finish, destroy the connection, and
635 * free the memory we'd write to before we did, causing crashes and stuff -
636 * so let's implement that later, when we really need conn->thread */
637
639}
static HANDLE thread
Definition: service.c:33
#define ERR(fmt,...)
Definition: debug.h:110
#define CloseHandle
Definition: compat.h:739
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
Definition: thread.c:137
unsigned long DWORD
Definition: ntddk_ex.h:95
#define err(...)
void RPCRT4_ReleaseConnection(RpcConnection *Connection) DECLSPEC_HIDDEN
static DWORD CALLBACK RPCRT4_io_thread(LPVOID the_arg)
Definition: rpc_server.c:543
DWORD WINAPI GetLastError(void)
Definition: except.c:1042

Referenced by rpcrt4_protseq_np_wait_for_new_connection(), and rpcrt4_protseq_sock_wait_for_new_connection().

◆ RPCRT4_ServerFreeAllRegisteredAuthInfo()

void RPCRT4_ServerFreeAllRegisteredAuthInfo ( void  )

Definition at line 1396 of file rpc_server.c.

1397{
1398 struct rpc_server_registered_auth_info *auth_info, *cursor2;
1399
1402 {
1403 HeapFree(GetProcessHeap(), 0, auth_info->package_name);
1404 HeapFree(GetProcessHeap(), 0, auth_info->principal);
1405 HeapFree(GetProcessHeap(), 0, auth_info);
1406 }
1409}
#define GetProcessHeap()
Definition: compat.h:736
#define HeapFree(x, y, z)
Definition: compat.h:735
static struct list server_registered_auth_info
Definition: rpc_server.c:70
static CRITICAL_SECTION server_auth_info_cs
Definition: rpc_server.c:90

Referenced by DllMain().