Blame libfreerdp/core/gateway/rts.h

Packit 1fb8d4
/**
Packit 1fb8d4
 * FreeRDP: A Remote Desktop Protocol Implementation
Packit 1fb8d4
 * Request To Send (RTS) PDUs
Packit 1fb8d4
 *
Packit 1fb8d4
 * Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
Packit 1fb8d4
 *
Packit 1fb8d4
 * Licensed under the Apache License, Version 2.0 (the "License");
Packit 1fb8d4
 * you may not use this file except in compliance with the License.
Packit 1fb8d4
 * You may obtain a copy of the License at
Packit 1fb8d4
 *
Packit 1fb8d4
 *     http://www.apache.org/licenses/LICENSE-2.0
Packit 1fb8d4
 *
Packit 1fb8d4
 * Unless required by applicable law or agreed to in writing, software
Packit 1fb8d4
 * distributed under the License is distributed on an "AS IS" BASIS,
Packit 1fb8d4
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Packit 1fb8d4
 * See the License for the specific language governing permissions and
Packit 1fb8d4
 * limitations under the License.
Packit 1fb8d4
 */
Packit 1fb8d4
Packit 1fb8d4
#ifndef FREERDP_LIB_CORE_GATEWAY_RTS_H
Packit 1fb8d4
#define FREERDP_LIB_CORE_GATEWAY_RTS_H
Packit 1fb8d4
Packit 1fb8d4
#ifdef HAVE_CONFIG_H
Packit 1fb8d4
#include "config.h"
Packit 1fb8d4
#endif
Packit 1fb8d4
Packit 1fb8d4
#include "rpc.h"
Packit 1fb8d4
Packit 1fb8d4
#include <freerdp/api.h>
Packit 1fb8d4
#include <freerdp/types.h>
Packit 1fb8d4
#include <freerdp/log.h>
Packit 1fb8d4
Packit Service 5a9772
#define RTS_FLAG_NONE 0x0000
Packit Service 5a9772
#define RTS_FLAG_PING 0x0001
Packit Service 5a9772
#define RTS_FLAG_OTHER_CMD 0x0002
Packit Service 5a9772
#define RTS_FLAG_RECYCLE_CHANNEL 0x0004
Packit Service 5a9772
#define RTS_FLAG_IN_CHANNEL 0x0008
Packit Service 5a9772
#define RTS_FLAG_OUT_CHANNEL 0x0010
Packit Service 5a9772
#define RTS_FLAG_EOF 0x0020
Packit Service 5a9772
#define RTS_FLAG_ECHO 0x0040
Packit Service 5a9772
Packit Service 5a9772
#define RTS_CMD_RECEIVE_WINDOW_SIZE 0x00000000
Packit Service 5a9772
#define RTS_CMD_FLOW_CONTROL_ACK 0x00000001
Packit Service 5a9772
#define RTS_CMD_CONNECTION_TIMEOUT 0x00000002
Packit Service 5a9772
#define RTS_CMD_COOKIE 0x00000003
Packit Service 5a9772
#define RTS_CMD_CHANNEL_LIFETIME 0x00000004
Packit Service 5a9772
#define RTS_CMD_CLIENT_KEEPALIVE 0x00000005
Packit Service 5a9772
#define RTS_CMD_VERSION 0x00000006
Packit Service 5a9772
#define RTS_CMD_EMPTY 0x00000007
Packit Service 5a9772
#define RTS_CMD_PADDING 0x00000008
Packit Service 5a9772
#define RTS_CMD_NEGATIVE_ANCE 0x00000009
Packit Service 5a9772
#define RTS_CMD_ANCE 0x0000000A
Packit Service 5a9772
#define RTS_CMD_CLIENT_ADDRESS 0x0000000B
Packit Service 5a9772
#define RTS_CMD_ASSOCIATION_GROUP_ID 0x0000000C
Packit Service 5a9772
#define RTS_CMD_DESTINATION 0x0000000D
Packit Service 5a9772
#define RTS_CMD_PING_TRAFFIC_SENT_NOTIFY 0x0000000E
Packit Service 5a9772
#define RTS_CMD_LAST_ID 0x0000000F
Packit Service 5a9772
Packit Service 5a9772
#define RTS_CMD_RECEIVE_WINDOW_SIZE_LENGTH 0x00000004
Packit Service 5a9772
#define RTS_CMD_FLOW_CONTROL_ACK_LENGTH 0x00000018
Packit Service 5a9772
#define RTS_CMD_CONNECTION_TIMEOUT_LENGTH 0x00000004
Packit Service 5a9772
#define RTS_CMD_COOKIE_LENGTH 0x00000010
Packit Service 5a9772
#define RTS_CMD_CHANNEL_LIFETIME_LENGTH 0x00000004
Packit Service 5a9772
#define RTS_CMD_CLIENT_KEEPALIVE_LENGTH 0x00000004
Packit Service 5a9772
#define RTS_CMD_VERSION_LENGTH 0x00000004
Packit Service 5a9772
#define RTS_CMD_EMPTY_LENGTH 0x00000000
Packit Service 5a9772
#define RTS_CMD_PADDING_LENGTH 0x00000000 /* variable-size */
Packit Service 5a9772
#define RTS_CMD_NEGATIVE_ANCE_LENGTH 0x00000000
Packit Service 5a9772
#define RTS_CMD_ANCE_LENGTH 0x00000000
Packit Service 5a9772
#define RTS_CMD_CLIENT_ADDRESS_LENGTH 0x00000000 /* variable-size */
Packit Service 5a9772
#define RTS_CMD_ASSOCIATION_GROUP_ID_LENGTH 0x00000010
Packit Service 5a9772
#define RTS_CMD_DESTINATION_LENGTH 0x00000004
Packit Service 5a9772
#define RTS_CMD_PING_TRAFFIC_SENT_NOTIFY_LENGTH 0x00000004
Packit Service 5a9772
Packit Service 5a9772
#define FDClient 0x00000000
Packit Service 5a9772
#define FDInProxy 0x00000001
Packit Service 5a9772
#define FDServer 0x00000002
Packit Service 5a9772
#define FDOutProxy 0x00000003
Packit 1fb8d4
Packit 1fb8d4
FREERDP_LOCAL void rts_generate_cookie(BYTE* cookie);
Packit 1fb8d4
Packit 1fb8d4
FREERDP_LOCAL SSIZE_T rts_command_length(UINT32 CommandType, const BYTE* buffer, size_t length);
Packit 1fb8d4
Packit 1fb8d4
FREERDP_LOCAL int rts_send_CONN_A1_pdu(rdpRpc* rpc);
Packit Service 5a9772
FREERDP_LOCAL int rts_recv_CONN_A3_pdu(rdpRpc* rpc, BYTE* buffer, UINT32 length);
Packit 1fb8d4
Packit 1fb8d4
FREERDP_LOCAL int rts_send_CONN_B1_pdu(rdpRpc* rpc);
Packit 1fb8d4
Packit Service 5a9772
FREERDP_LOCAL int rts_recv_CONN_C2_pdu(rdpRpc* rpc, BYTE* buffer, UINT32 length);
Packit 1fb8d4
Packit 1fb8d4
FREERDP_LOCAL int rts_send_OUT_R1_A3_pdu(rdpRpc* rpc);
Packit 1fb8d4
Packit 1fb8d4
FREERDP_LOCAL int rts_send_flow_control_ack_pdu(rdpRpc* rpc);
Packit 1fb8d4
Packit Service 5a9772
FREERDP_LOCAL int rts_recv_out_of_sequence_pdu(rdpRpc* rpc, BYTE* buffer, UINT32 length);
Packit 1fb8d4
Packit 1fb8d4
#include "rts_signature.h"
Packit 1fb8d4
Packit 1fb8d4
#endif /* FREERDP_LIB_CORE_GATEWAY_RTS_H */