FreeRDP
tsg.h File Reference
#include "rpc.h"
#include "../transport.h"
#include <winpr/rpc.h>
#include <winpr/winpr.h>
#include <winpr/wtypes.h>
#include <freerdp/types.h>
#include <freerdp/api.h>
This graph shows which files directly or indirectly include this file:

Macros

#define TsProxyCreateTunnelOpnum   1
 
#define TsProxyAuthorizeTunnelOpnum   2
 
#define TsProxyMakeTunnelCallOpnum   3
 
#define TsProxyCreateChannelOpnum   4
 
#define TsProxyUnused5Opnum   5
 
#define TsProxyCloseChannelOpnum   6
 
#define TsProxyCloseTunnelOpnum   7
 
#define TsProxySetupReceivePipeOpnum   8
 
#define TsProxySendToServerOpnum   9
 
#define MAX_RESOURCE_NAMES   50
 
#define TS_GATEWAY_TRANSPORT   0x5452
 
#define TSG_ASYNC_MESSAGE_CONSENT_MESSAGE   0x00000001
 
#define TSG_ASYNC_MESSAGE_SERVICE_MESSAGE   0x00000002
 
#define TSG_ASYNC_MESSAGE_REAUTH   0x00000003
 
#define TSG_TUNNEL_CALL_ASYNC_MSG_REQUEST   0x00000001
 
#define TSG_TUNNEL_CANCEL_ASYNC_MSG_REQUEST   0x00000002
 
#define TSG_NAP_CAPABILITY_QUAR_SOH   0x00000001
 
#define TSG_NAP_CAPABILITY_IDLE_TIMEOUT   0x00000002
 
#define TSG_MESSAGING_CAP_CONSENT_SIGN   0x00000004
 
#define TSG_MESSAGING_CAP_SERVICE_MSG   0x00000008
 
#define TSG_MESSAGING_CAP_REAUTH   0x00000010
 
#define TSG_MESSAGING_MAX_MESSAGE_LENGTH   65536
 
#define E_PROXY_INTERNALERROR   0x800759D8
 
#define E_PROXY_RAP_ACCESSDENIED   0x800759DA
 
#define E_PROXY_NAP_ACCESSDENIED   0x800759DB
 
#define E_PROXY_TS_CONNECTFAILED   0x800759DD
 
#define E_PROXY_ALREADYDISCONNECTED   0x800759DF
 
#define E_PROXY_QUARANTINE_ACCESSDENIED   0x800759ED
 
#define E_PROXY_NOCERTAVAILABLE   0x800759EE
 
#define E_PROXY_COOKIE_BADPACKET   0x800759F7
 
#define E_PROXY_COOKIE_AUTHENTICATION_ACCESS_DENIED   0x800759F8
 
#define E_PROXY_UNSUPPORTED_AUTHENTICATION_METHOD   0x800759F9
 
#define E_PROXY_CAPABILITYMISMATCH   0x800759E9
 
#define E_PROXY_NOTSUPPORTED   0x000059E8
 
#define E_PROXY_MAXCONNECTIONSREACHED   0x000059E6
 
#define E_PROXY_SESSIONTIMEOUT   0x000059F6
 
#define E_PROXY_REAUTH_AUTHN_FAILED   0x000059FA
 
#define E_PROXY_REAUTH_CAP_FAILED   0x000059FB
 
#define E_PROXY_REAUTH_RAP_FAILED   0x000059FC
 
#define E_PROXY_SDR_NOT_SUPPORTED_BY_TS   0x000059FD
 
#define E_PROXY_REAUTH_NAP_FAILED   0x00005A00
 
#define E_PROXY_CONNECTIONABORTED   0x000004D4
 

Typedefs

typedef enum _TSG_STATE TSG_STATE
 

Enumerations

enum  _TSG_STATE {
  TSG_STATE_INITIAL, TSG_STATE_CONNECTED, TSG_STATE_AUTHORIZED, TSG_STATE_CHANNEL_CREATED,
  TSG_STATE_PIPE_CREATED, TSG_STATE_TUNNEL_CLOSE_PENDING, TSG_STATE_CHANNEL_CLOSE_PENDING, TSG_STATE_FINAL
}
 

Functions

FREERDP_LOCAL rdpTsg * tsg_new (rdpTransport *transport)
 
FREERDP_LOCAL void tsg_free (rdpTsg *tsg)
 
FREERDP_LOCAL BOOL tsg_proxy_begin (rdpTsg *tsg)
 
FREERDP_LOCAL BOOL tsg_connect (rdpTsg *tsg, const char *hostname, UINT16 port, DWORD timeout)
 
FREERDP_LOCAL BOOL tsg_disconnect (rdpTsg *tsg)
 
FREERDP_LOCAL BOOL tsg_recv_pdu (rdpTsg *tsg, RPC_PDU *pdu)
 
FREERDP_LOCAL BOOL tsg_check_event_handles (rdpTsg *tsg)
 
FREERDP_LOCAL DWORD tsg_get_event_handles (rdpTsg *tsg, HANDLE *events, DWORD count)
 
FREERDP_LOCAL TSG_STATE tsg_get_state (rdpTsg *tsg)
 
FREERDP_LOCAL BOOL tsg_set_state (rdpTsg *tsg, TSG_STATE state)
 
FREERDP_LOCAL BIO * tsg_get_bio (rdpTsg *tsg)
 

Macro Definition Documentation

◆ E_PROXY_ALREADYDISCONNECTED

#define E_PROXY_ALREADYDISCONNECTED   0x800759DF

◆ E_PROXY_CAPABILITYMISMATCH

#define E_PROXY_CAPABILITYMISMATCH   0x800759E9

◆ E_PROXY_CONNECTIONABORTED

#define E_PROXY_CONNECTIONABORTED   0x000004D4

◆ E_PROXY_COOKIE_AUTHENTICATION_ACCESS_DENIED

#define E_PROXY_COOKIE_AUTHENTICATION_ACCESS_DENIED   0x800759F8

◆ E_PROXY_COOKIE_BADPACKET

#define E_PROXY_COOKIE_BADPACKET   0x800759F7

◆ E_PROXY_INTERNALERROR

#define E_PROXY_INTERNALERROR   0x800759D8

◆ E_PROXY_MAXCONNECTIONSREACHED

#define E_PROXY_MAXCONNECTIONSREACHED   0x000059E6

◆ E_PROXY_NAP_ACCESSDENIED

#define E_PROXY_NAP_ACCESSDENIED   0x800759DB

◆ E_PROXY_NOCERTAVAILABLE

#define E_PROXY_NOCERTAVAILABLE   0x800759EE

◆ E_PROXY_NOTSUPPORTED

#define E_PROXY_NOTSUPPORTED   0x000059E8

◆ E_PROXY_QUARANTINE_ACCESSDENIED

#define E_PROXY_QUARANTINE_ACCESSDENIED   0x800759ED

◆ E_PROXY_RAP_ACCESSDENIED

#define E_PROXY_RAP_ACCESSDENIED   0x800759DA

◆ E_PROXY_REAUTH_AUTHN_FAILED

#define E_PROXY_REAUTH_AUTHN_FAILED   0x000059FA

◆ E_PROXY_REAUTH_CAP_FAILED

#define E_PROXY_REAUTH_CAP_FAILED   0x000059FB

◆ E_PROXY_REAUTH_NAP_FAILED

#define E_PROXY_REAUTH_NAP_FAILED   0x00005A00

◆ E_PROXY_REAUTH_RAP_FAILED

#define E_PROXY_REAUTH_RAP_FAILED   0x000059FC

◆ E_PROXY_SDR_NOT_SUPPORTED_BY_TS

#define E_PROXY_SDR_NOT_SUPPORTED_BY_TS   0x000059FD

◆ E_PROXY_SESSIONTIMEOUT

#define E_PROXY_SESSIONTIMEOUT   0x000059F6

◆ E_PROXY_TS_CONNECTFAILED

#define E_PROXY_TS_CONNECTFAILED   0x800759DD

◆ E_PROXY_UNSUPPORTED_AUTHENTICATION_METHOD

#define E_PROXY_UNSUPPORTED_AUTHENTICATION_METHOD   0x800759F9

◆ MAX_RESOURCE_NAMES

#define MAX_RESOURCE_NAMES   50

◆ TS_GATEWAY_TRANSPORT

#define TS_GATEWAY_TRANSPORT   0x5452

◆ TSG_ASYNC_MESSAGE_CONSENT_MESSAGE

#define TSG_ASYNC_MESSAGE_CONSENT_MESSAGE   0x00000001

◆ TSG_ASYNC_MESSAGE_REAUTH

#define TSG_ASYNC_MESSAGE_REAUTH   0x00000003

◆ TSG_ASYNC_MESSAGE_SERVICE_MESSAGE

#define TSG_ASYNC_MESSAGE_SERVICE_MESSAGE   0x00000002

◆ TSG_MESSAGING_CAP_CONSENT_SIGN

#define TSG_MESSAGING_CAP_CONSENT_SIGN   0x00000004

◆ TSG_MESSAGING_CAP_REAUTH

#define TSG_MESSAGING_CAP_REAUTH   0x00000010

◆ TSG_MESSAGING_CAP_SERVICE_MSG

#define TSG_MESSAGING_CAP_SERVICE_MSG   0x00000008

◆ TSG_MESSAGING_MAX_MESSAGE_LENGTH

#define TSG_MESSAGING_MAX_MESSAGE_LENGTH   65536

◆ TSG_NAP_CAPABILITY_IDLE_TIMEOUT

#define TSG_NAP_CAPABILITY_IDLE_TIMEOUT   0x00000002

◆ TSG_NAP_CAPABILITY_QUAR_SOH

#define TSG_NAP_CAPABILITY_QUAR_SOH   0x00000001

◆ TSG_TUNNEL_CALL_ASYNC_MSG_REQUEST

#define TSG_TUNNEL_CALL_ASYNC_MSG_REQUEST   0x00000001

◆ TSG_TUNNEL_CANCEL_ASYNC_MSG_REQUEST

#define TSG_TUNNEL_CANCEL_ASYNC_MSG_REQUEST   0x00000002

◆ TsProxyAuthorizeTunnelOpnum

#define TsProxyAuthorizeTunnelOpnum   2

◆ TsProxyCloseChannelOpnum

#define TsProxyCloseChannelOpnum   6

◆ TsProxyCloseTunnelOpnum

#define TsProxyCloseTunnelOpnum   7

◆ TsProxyCreateChannelOpnum

#define TsProxyCreateChannelOpnum   4

◆ TsProxyCreateTunnelOpnum

#define TsProxyCreateTunnelOpnum   1

◆ TsProxyMakeTunnelCallOpnum

#define TsProxyMakeTunnelCallOpnum   3

◆ TsProxySendToServerOpnum

#define TsProxySendToServerOpnum   9

◆ TsProxySetupReceivePipeOpnum

#define TsProxySetupReceivePipeOpnum   8

◆ TsProxyUnused5Opnum

#define TsProxyUnused5Opnum   5

Typedef Documentation

◆ TSG_STATE

typedef enum _TSG_STATE TSG_STATE

Enumeration Type Documentation

◆ _TSG_STATE

enum _TSG_STATE
Enumerator
TSG_STATE_INITIAL 
TSG_STATE_CONNECTED 
TSG_STATE_AUTHORIZED 
TSG_STATE_CHANNEL_CREATED 
TSG_STATE_PIPE_CREATED 
TSG_STATE_TUNNEL_CLOSE_PENDING 
TSG_STATE_CHANNEL_CLOSE_PENDING 
TSG_STATE_FINAL 

Function Documentation

◆ tsg_check_event_handles()

FREERDP_LOCAL BOOL tsg_check_event_handles ( rdpTsg *  tsg)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tsg_connect()

FREERDP_LOCAL BOOL tsg_connect ( rdpTsg *  tsg,
const char *  hostname,
UINT16  port,
DWORD  timeout 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tsg_disconnect()

FREERDP_LOCAL BOOL tsg_disconnect ( rdpTsg *  tsg)
               Gateway Shutdown Phase

Client Server | |

----------—TsProxyCloseChannel Request-------—>
<----—TsProxySetupReceivePipe Final Response--—
<--------—TsProxyCloseChannel Response--------—
-—TsProxyMakeTunnelCall Request (cancel async)-->
<—TsProxyMakeTunnelCall Response (call async)-—
<—TsProxyMakeTunnelCall Response (cancel async)–
-----------—TsProxyCloseTunnel Request-------—>
<----------—TsProxyCloseTunnel Response-------—
Here is the call graph for this function:

◆ tsg_free()

FREERDP_LOCAL void tsg_free ( rdpTsg *  tsg)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tsg_get_bio()

FREERDP_LOCAL BIO* tsg_get_bio ( rdpTsg *  tsg)
Here is the caller graph for this function:

◆ tsg_get_event_handles()

FREERDP_LOCAL DWORD tsg_get_event_handles ( rdpTsg *  tsg,
HANDLE *  events,
DWORD  count 
)
Here is the caller graph for this function:

◆ tsg_get_state()

FREERDP_LOCAL TSG_STATE tsg_get_state ( rdpTsg *  tsg)
Here is the caller graph for this function:

◆ tsg_new()

FREERDP_LOCAL rdpTsg* tsg_new ( rdpTransport *  transport)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tsg_proxy_begin()

FREERDP_LOCAL BOOL tsg_proxy_begin ( rdpTsg *  tsg)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tsg_recv_pdu()

FREERDP_LOCAL BOOL tsg_recv_pdu ( rdpTsg *  tsg,
RPC_PDU *  pdu 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tsg_set_state()

FREERDP_LOCAL BOOL tsg_set_state ( rdpTsg *  tsg,
TSG_STATE  state 
)
Here is the caller graph for this function: