FreeRDP
rpc_client.c File Reference
#include <freerdp/config.h>
#include <freerdp/log.h>
#include <winpr/crt.h>
#include <winpr/wtypes.h>
#include <winpr/assert.h>
#include <winpr/print.h>
#include <winpr/synch.h>
#include <winpr/thread.h>
#include <winpr/stream.h>
#include "http.h"
#include "ncacn_http.h"
#include "rpc_bind.h"
#include "rpc_fault.h"
#include "rpc_client.h"
#include "rts_signature.h"
#include "../utils.h"
#include "../rdp.h"
#include "../proxy.h"

Macros

#define TAG   FREERDP_TAG("core.gateway.rpc")
 

Functions

static const char * rpc_client_state_str (RPC_CLIENT_STATE state)
 
static void rpc_pdu_reset (RPC_PDU *pdu)
 
static RPC_PDUrpc_pdu_new (void)
 
static void rpc_pdu_free (RPC_PDU *pdu)
 
static int rpc_client_receive_pipe_write (RpcClient *client, const BYTE *buffer, size_t length)
 
int rpc_client_receive_pipe_read (RpcClient *client, BYTE *buffer, size_t length)
 
static int rpc_client_transition_to_state (rdpRpc *rpc, RPC_CLIENT_STATE state)
 
static int rpc_client_recv_pdu_int (rdpRpc *rpc, RPC_PDU *pdu)
 
static int rpc_client_recv_pdu (rdpRpc *rpc, RPC_PDU *pdu)
 
static int rpc_client_recv_fragment (rdpRpc *rpc, wStream *fragment)
 
static SSIZE_T rpc_client_default_out_channel_recv (rdpRpc *rpc)
 
static SSIZE_T rpc_client_nondefault_out_channel_recv (rdpRpc *rpc)
 
int rpc_client_out_channel_recv (rdpRpc *rpc)
 
int rpc_client_in_channel_recv (rdpRpc *rpc)
 
RpcClientCallrpc_client_call_find_by_id (RpcClient *client, UINT32 CallId)
 
RpcClientCallrpc_client_call_new (UINT32 CallId, UINT32 OpNum)
 
void rpc_client_call_free (RpcClientCall *clientCall)
 
static void rpc_array_client_call_free (void *call)
 
int rpc_in_channel_send_pdu (RpcInChannel *inChannel, const BYTE *buffer, size_t length)
 
BOOL rpc_client_write_call (rdpRpc *rpc, wStream *s, UINT16 opnum)
 
static BOOL rpc_client_resolve_gateway (rdpSettings *settings, char **host, UINT16 *port, BOOL *isProxy)
 
RpcClientrpc_client_new (rdpContext *context, UINT32 max_recv_frag)
 
void rpc_client_free (RpcClient *client)
 

Macro Definition Documentation

◆ TAG

#define TAG   FREERDP_TAG("core.gateway.rpc")

FreeRDP: A Remote Desktop Protocol Implementation RPC Client

Copyright 2012 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Function Documentation

◆ rpc_array_client_call_free()

static void rpc_array_client_call_free ( void *  call)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rpc_client_call_find_by_id()

RpcClientCall* rpc_client_call_find_by_id ( RpcClient client,
UINT32  CallId 
)

[MS-RPCE] Client Call: http://msdn.microsoft.com/en-us/library/gg593159/

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rpc_client_call_free()

void rpc_client_call_free ( RpcClientCall clientCall)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rpc_client_call_new()

RpcClientCall* rpc_client_call_new ( UINT32  CallId,
UINT32  OpNum 
)
Here is the caller graph for this function:

◆ rpc_client_default_out_channel_recv()

static SSIZE_T rpc_client_default_out_channel_recv ( rdpRpc *  rpc)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rpc_client_free()

void rpc_client_free ( RpcClient client)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rpc_client_in_channel_recv()

int rpc_client_in_channel_recv ( rdpRpc *  rpc)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rpc_client_new()

RpcClient* rpc_client_new ( rdpContext *  context,
UINT32  max_recv_frag 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rpc_client_nondefault_out_channel_recv()

static SSIZE_T rpc_client_nondefault_out_channel_recv ( rdpRpc *  rpc)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rpc_client_out_channel_recv()

int rpc_client_out_channel_recv ( rdpRpc *  rpc)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rpc_client_receive_pipe_read()

int rpc_client_receive_pipe_read ( RpcClient client,
BYTE buffer,
size_t  length 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rpc_client_receive_pipe_write()

static int rpc_client_receive_pipe_write ( RpcClient client,
const BYTE buffer,
size_t  length 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rpc_client_recv_fragment()

static int rpc_client_recv_fragment ( rdpRpc *  rpc,
wStream fragment 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rpc_client_recv_pdu()

static int rpc_client_recv_pdu ( rdpRpc *  rpc,
RPC_PDU pdu 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rpc_client_recv_pdu_int()

static int rpc_client_recv_pdu_int ( rdpRpc *  rpc,
RPC_PDU pdu 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rpc_client_resolve_gateway()

static BOOL rpc_client_resolve_gateway ( rdpSettings *  settings,
char **  host,
UINT16 port,
BOOL *  isProxy 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rpc_client_state_str()

static const char* rpc_client_state_str ( RPC_CLIENT_STATE  state)
static
Here is the caller graph for this function:

◆ rpc_client_transition_to_state()

static int rpc_client_transition_to_state ( rdpRpc *  rpc,
RPC_CLIENT_STATE  state 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rpc_client_write_call()

BOOL rpc_client_write_call ( rdpRpc *  rpc,
wStream s,
UINT16  opnum 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rpc_in_channel_send_pdu()

int rpc_in_channel_send_pdu ( RpcInChannel inChannel,
const BYTE buffer,
size_t  length 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rpc_pdu_free()

static void rpc_pdu_free ( RPC_PDU pdu)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rpc_pdu_new()

static RPC_PDU* rpc_pdu_new ( void  )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rpc_pdu_reset()

static void rpc_pdu_reset ( RPC_PDU pdu)
static
Here is the call graph for this function:
Here is the caller graph for this function: