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_PACKET_TYPE_HEADER   0x00004844
 
#define TSG_PACKET_TYPE_VERSIONCAPS   0x00005643
 
#define TSG_PACKET_TYPE_QUARCONFIGREQUEST   0x00005143
 
#define TSG_PACKET_TYPE_QUARREQUEST   0x00005152
 
#define TSG_PACKET_TYPE_RESPONSE   0x00005052
 
#define TSG_PACKET_TYPE_QUARENC_RESPONSE   0x00004552
 
#define TSG_CAPABILITY_TYPE_NAP   0x00000001
 
#define TSG_PACKET_TYPE_CAPS_RESPONSE   0x00004350
 
#define TSG_PACKET_TYPE_MSGREQUEST_PACKET   0x00004752
 
#define TSG_PACKET_TYPE_MESSAGE_PACKET   0x00004750
 
#define TSG_PACKET_TYPE_AUTH   0x00004054
 
#define TSG_PACKET_TYPE_REAUTH   0x00005250
 
#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, int 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

#define E_PROXY_ALREADYDISCONNECTED   0x800759DF
#define E_PROXY_CAPABILITYMISMATCH   0x800759E9
#define E_PROXY_CONNECTIONABORTED   0x000004D4
#define E_PROXY_COOKIE_AUTHENTICATION_ACCESS_DENIED   0x800759F8
#define E_PROXY_COOKIE_BADPACKET   0x800759F7
#define E_PROXY_INTERNALERROR   0x800759D8
#define E_PROXY_MAXCONNECTIONSREACHED   0x000059E6
#define E_PROXY_NAP_ACCESSDENIED   0x800759DB
#define E_PROXY_NOCERTAVAILABLE   0x800759EE
#define E_PROXY_NOTSUPPORTED   0x000059E8
#define E_PROXY_QUARANTINE_ACCESSDENIED   0x800759ED
#define E_PROXY_RAP_ACCESSDENIED   0x800759DA
#define E_PROXY_REAUTH_AUTHN_FAILED   0x000059FA
#define E_PROXY_REAUTH_CAP_FAILED   0x000059FB
#define E_PROXY_REAUTH_NAP_FAILED   0x00005A00
#define E_PROXY_REAUTH_RAP_FAILED   0x000059FC
#define E_PROXY_SDR_NOT_SUPPORTED_BY_TS   0x000059FD
#define E_PROXY_SESSIONTIMEOUT   0x000059F6
#define E_PROXY_TS_CONNECTFAILED   0x800759DD
#define E_PROXY_UNSUPPORTED_AUTHENTICATION_METHOD   0x800759F9
#define MAX_RESOURCE_NAMES   50
#define TS_GATEWAY_TRANSPORT   0x5452
#define TSG_ASYNC_MESSAGE_CONSENT_MESSAGE   0x00000001
#define TSG_ASYNC_MESSAGE_REAUTH   0x00000003
#define TSG_ASYNC_MESSAGE_SERVICE_MESSAGE   0x00000002
#define TSG_CAPABILITY_TYPE_NAP   0x00000001
#define TSG_MESSAGING_CAP_CONSENT_SIGN   0x00000004
#define TSG_MESSAGING_CAP_REAUTH   0x00000010
#define TSG_MESSAGING_CAP_SERVICE_MSG   0x00000008
#define TSG_MESSAGING_MAX_MESSAGE_LENGTH   65536
#define TSG_NAP_CAPABILITY_IDLE_TIMEOUT   0x00000002
#define TSG_NAP_CAPABILITY_QUAR_SOH   0x00000001
#define TSG_PACKET_TYPE_AUTH   0x00004054
#define TSG_PACKET_TYPE_CAPS_RESPONSE   0x00004350
#define TSG_PACKET_TYPE_HEADER   0x00004844
#define TSG_PACKET_TYPE_MESSAGE_PACKET   0x00004750
#define TSG_PACKET_TYPE_MSGREQUEST_PACKET   0x00004752
#define TSG_PACKET_TYPE_QUARCONFIGREQUEST   0x00005143
#define TSG_PACKET_TYPE_QUARENC_RESPONSE   0x00004552
#define TSG_PACKET_TYPE_QUARREQUEST   0x00005152
#define TSG_PACKET_TYPE_REAUTH   0x00005250
#define TSG_PACKET_TYPE_RESPONSE   0x00005052
#define TSG_PACKET_TYPE_VERSIONCAPS   0x00005643
#define TSG_TUNNEL_CALL_ASYNC_MSG_REQUEST   0x00000001
#define TSG_TUNNEL_CANCEL_ASYNC_MSG_REQUEST   0x00000002
#define TsProxyAuthorizeTunnelOpnum   2
#define TsProxyCloseChannelOpnum   6
#define TsProxyCloseTunnelOpnum   7
#define TsProxyCreateChannelOpnum   4
#define TsProxyCreateTunnelOpnum   1
#define TsProxyMakeTunnelCallOpnum   3
#define TsProxySendToServerOpnum   9
#define TsProxySetupReceivePipeOpnum   8
#define TsProxyUnused5Opnum   5

Typedef Documentation

typedef enum _TSG_STATE TSG_STATE

Enumeration Type Documentation

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

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:

FREERDP_LOCAL BOOL tsg_connect ( rdpTsg *  tsg,
const char *  hostname,
UINT16  port,
int  timeout 
)

Here is the call graph for this function:

Here is the caller graph for this function:

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:

FREERDP_LOCAL void tsg_free ( rdpTsg *  tsg)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_LOCAL BIO* tsg_get_bio ( rdpTsg *  tsg)

Here is the caller graph for this function:

FREERDP_LOCAL DWORD tsg_get_event_handles ( rdpTsg *  tsg,
HANDLE *  events,
DWORD  count 
)

Here is the caller graph for this function:

FREERDP_LOCAL TSG_STATE tsg_get_state ( rdpTsg *  tsg)

Here is the caller graph for this function:

FREERDP_LOCAL rdpTsg* tsg_new ( rdpTransport *  transport)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_LOCAL BOOL tsg_proxy_begin ( rdpTsg *  tsg)

Here is the call graph for this function:

Here is the caller graph for this function:

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:

FREERDP_LOCAL BOOL tsg_set_state ( rdpTsg *  tsg,
TSG_STATE  state 
)

Here is the caller graph for this function: