FreeRDP
include/freerdp/peer.h File Reference
#include <freerdp/api.h>
#include <freerdp/types.h>
#include <freerdp/settings.h>
#include <freerdp/input.h>
#include <freerdp/update.h>
#include <freerdp/autodetect.h>
#include <winpr/sspi.h>
#include <winpr/ntlm.h>
#include <winpr/winsock.h>
This graph shows which files directly or indirectly include this file:

Data Structures

struct  freerdp_peer
 

Typedefs

typedef BOOL(* psPeerContextNew) (freerdp_peer *peer, rdpContext *context)
 
typedef void(* psPeerContextFree) (freerdp_peer *peer, rdpContext *context)
 
typedef BOOL(* psPeerInitialize) (freerdp_peer *peer)
 
typedef BOOL(* psPeerGetFileDescriptor) (freerdp_peer *peer, void **rfds, int *rcount)
 
typedef HANDLE(* psPeerGetEventHandle) (freerdp_peer *peer)
 
typedef DWORD(* psPeerGetEventHandles) (freerdp_peer *peer, HANDLE *events, DWORD count)
 
typedef HANDLE(* psPeerGetReceiveEventHandle) (freerdp_peer *peer)
 
typedef BOOL(* psPeerCheckFileDescriptor) (freerdp_peer *peer)
 
typedef BOOL(* psPeerIsWriteBlocked) (freerdp_peer *peer)
 
typedef int(* psPeerDrainOutputBuffer) (freerdp_peer *peer)
 
typedef BOOL(* psPeerHasMoreToRead) (freerdp_peer *peer)
 
typedef BOOL(* psPeerClose) (freerdp_peer *peer)
 
typedef void(* psPeerDisconnect) (freerdp_peer *peer)
 
typedef BOOL(* psPeerCapabilities) (freerdp_peer *peer)
 
typedef BOOL(* psPeerPostConnect) (freerdp_peer *peer)
 
typedef BOOL(* psPeerActivate) (freerdp_peer *peer)
 
typedef BOOL(* psPeerLogon) (freerdp_peer *peer, const SEC_WINNT_AUTH_IDENTITY *identity, BOOL automatic)
 
typedef BOOL(* psPeerAdjustMonitorsLayout) (freerdp_peer *peer)
 
typedef BOOL(* psPeerClientCapabilities) (freerdp_peer *peer)
 
typedef BOOL(* psPeerSendChannelData) (freerdp_peer *peer, UINT16 channelId, const BYTE *data, size_t size)
 
typedef BOOL(* psPeerSendChannelPacket) (freerdp_peer *client, UINT16 channelId, size_t totalSize, UINT32 flags, const BYTE *data, size_t chunkSize)
 
typedef BOOL(* psPeerReceiveChannelData) (freerdp_peer *peer, UINT16 channelId, const BYTE *data, size_t size, UINT32 flags, size_t totalSize)
 
typedef HANDLE(* psPeerVirtualChannelOpen) (freerdp_peer *peer, const char *name, UINT32 flags)
 
typedef BOOL(* psPeerVirtualChannelClose) (freerdp_peer *peer, HANDLE hChannel)
 
typedef int(* psPeerVirtualChannelRead) (freerdp_peer *peer, HANDLE hChannel, BYTE *buffer, UINT32 length)
 
typedef int(* psPeerVirtualChannelWrite) (freerdp_peer *peer, HANDLE hChannel, const BYTE *buffer, UINT32 length)
 
typedef void *(* psPeerVirtualChannelGetData) (freerdp_peer *peer, HANDLE hChannel)
 
typedef int(* psPeerVirtualChannelSetData) (freerdp_peer *peer, HANDLE hChannel, void *data)
 
typedef LicenseCallbackResult(* psPeerLicenseCallback) (freerdp_peer *peer, wStream *s)
 

Enumerations

enum  LicenseCallbackResult { LICENSE_CB_INTERNAL_ERROR, LICENSE_CB_ABORT, LICENSE_CB_IN_PROGRESS, LICENSE_CB_COMPLETED }
 the result of the license callback More...
 

Functions

FREERDP_API BOOL freerdp_peer_context_new (freerdp_peer *client)
 
FREERDP_API void freerdp_peer_context_free (freerdp_peer *client)
 
FREERDP_API freerdp_peer * freerdp_peer_new (int sockfd)
 
FREERDP_API void freerdp_peer_free (freerdp_peer *client)
 
FREERDP_API BOOL freerdp_peer_set_local_and_hostname (freerdp_peer *client, const struct sockaddr_storage *peer_addr)
 

Typedef Documentation

◆ psPeerActivate

typedef BOOL(* psPeerActivate) (freerdp_peer *peer)

◆ psPeerAdjustMonitorsLayout

typedef BOOL(* psPeerAdjustMonitorsLayout) (freerdp_peer *peer)

◆ psPeerCapabilities

typedef BOOL(* psPeerCapabilities) (freerdp_peer *peer)

◆ psPeerCheckFileDescriptor

typedef BOOL(* psPeerCheckFileDescriptor) (freerdp_peer *peer)

◆ psPeerClientCapabilities

typedef BOOL(* psPeerClientCapabilities) (freerdp_peer *peer)

◆ psPeerClose

typedef BOOL(* psPeerClose) (freerdp_peer *peer)

◆ psPeerContextFree

typedef void(* psPeerContextFree) (freerdp_peer *peer, rdpContext *context)

◆ psPeerContextNew

typedef BOOL(* psPeerContextNew) (freerdp_peer *peer, rdpContext *context)

FreeRDP: A Remote Desktop Protocol Implementation RDP Server Peer

Copyright 2011 Vic Lee

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.

◆ psPeerDisconnect

typedef void(* psPeerDisconnect) (freerdp_peer *peer)

◆ psPeerDrainOutputBuffer

typedef int(* psPeerDrainOutputBuffer) (freerdp_peer *peer)

◆ psPeerGetEventHandle

typedef HANDLE(* psPeerGetEventHandle) (freerdp_peer *peer)

◆ psPeerGetEventHandles

typedef DWORD(* psPeerGetEventHandles) (freerdp_peer *peer, HANDLE *events, DWORD count)

◆ psPeerGetFileDescriptor

typedef BOOL(* psPeerGetFileDescriptor) (freerdp_peer *peer, void **rfds, int *rcount)

◆ psPeerGetReceiveEventHandle

typedef HANDLE(* psPeerGetReceiveEventHandle) (freerdp_peer *peer)

◆ psPeerHasMoreToRead

typedef BOOL(* psPeerHasMoreToRead) (freerdp_peer *peer)

◆ psPeerInitialize

typedef BOOL(* psPeerInitialize) (freerdp_peer *peer)

◆ psPeerIsWriteBlocked

typedef BOOL(* psPeerIsWriteBlocked) (freerdp_peer *peer)

◆ psPeerLicenseCallback

typedef LicenseCallbackResult(* psPeerLicenseCallback) (freerdp_peer *peer, wStream *s)

◆ psPeerLogon

typedef BOOL(* psPeerLogon) (freerdp_peer *peer, const SEC_WINNT_AUTH_IDENTITY *identity, BOOL automatic)

◆ psPeerPostConnect

typedef BOOL(* psPeerPostConnect) (freerdp_peer *peer)

◆ psPeerReceiveChannelData

typedef BOOL(* psPeerReceiveChannelData) (freerdp_peer *peer, UINT16 channelId, const BYTE *data, size_t size, UINT32 flags, size_t totalSize)

◆ psPeerSendChannelData

typedef BOOL(* psPeerSendChannelData) (freerdp_peer *peer, UINT16 channelId, const BYTE *data, size_t size)

◆ psPeerSendChannelPacket

typedef BOOL(* psPeerSendChannelPacket) (freerdp_peer *client, UINT16 channelId, size_t totalSize, UINT32 flags, const BYTE *data, size_t chunkSize)

◆ psPeerVirtualChannelClose

typedef BOOL(* psPeerVirtualChannelClose) (freerdp_peer *peer, HANDLE hChannel)

◆ psPeerVirtualChannelGetData

typedef void*(* psPeerVirtualChannelGetData) (freerdp_peer *peer, HANDLE hChannel)

◆ psPeerVirtualChannelOpen

typedef HANDLE(* psPeerVirtualChannelOpen) (freerdp_peer *peer, const char *name, UINT32 flags)

◆ psPeerVirtualChannelRead

typedef int(* psPeerVirtualChannelRead) (freerdp_peer *peer, HANDLE hChannel, BYTE *buffer, UINT32 length)

◆ psPeerVirtualChannelSetData

typedef int(* psPeerVirtualChannelSetData) (freerdp_peer *peer, HANDLE hChannel, void *data)

◆ psPeerVirtualChannelWrite

typedef int(* psPeerVirtualChannelWrite) (freerdp_peer *peer, HANDLE hChannel, const BYTE *buffer, UINT32 length)

Enumeration Type Documentation

◆ LicenseCallbackResult

the result of the license callback

Enumerator
LICENSE_CB_INTERNAL_ERROR 
LICENSE_CB_ABORT 

an internal error happened in the callback

LICENSE_CB_IN_PROGRESS 

licensing process failed, abort the connection

LICENSE_CB_COMPLETED 

incoming packet has been treated, we're waiting for further packets to complete the workflow the licensing workflow has completed, go to next step

Function Documentation

◆ freerdp_peer_context_free()

FREERDP_API void freerdp_peer_context_free ( freerdp_peer *  client)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_peer_context_new()

FREERDP_API BOOL freerdp_peer_context_new ( freerdp_peer *  client)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_peer_free()

FREERDP_API void freerdp_peer_free ( freerdp_peer *  client)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_peer_new()

FREERDP_API freerdp_peer* freerdp_peer_new ( int  sockfd)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_peer_set_local_and_hostname()

FREERDP_API BOOL freerdp_peer_set_local_and_hostname ( freerdp_peer *  client,
const struct sockaddr_storage *  peer_addr 
)
Here is the caller graph for this function: