21#ifndef WIN32_LEAN_AND_MEAN
22#define WIN32_LEAN_AND_MEAN
35#ifdef HAVE_SYS_SELECT_H
36#include <sys/select.h>
51#include <openssl/rc4.h>
52#include <openssl/md5.h>
53#include <openssl/sha.h>
54#include <openssl/bn.h>
55#include <openssl/x509v3.h>
57#define VERSION "1.4.1"
60#define DEBUG(args) printf args;
66#define DEBUG_KBD(args) printf args;
68#define DEBUG_KBD(args)
72#define DEBUG_RDP5(args) printf args;
74#define DEBUG_RDP5(args)
77#ifdef WITH_DEBUG_CLIPBOARD
78#define DEBUG_CLIPBOARD(args) printf args;
80#define DEBUG_CLIPBOARD(args)
83#ifdef WITH_DEBUG_CHANNEL
84#define DEBUG_CHANNEL(args) printf args;
86#define DEBUG_CHANNEL(args)
89#define STRNCPY(dst,src,n) { strncpy(dst,src,n-1); dst[n-1] = 0; }
92#define MIN(x,y) (((x) < (y)) ? (x) : (y))
96#define MAX(x,y) (((x) > (y)) ? (x) : (y))
101#define timerisset(tvp)\
102 ((tvp)->tv_sec || (tvp)->tv_usec)
105#define timercmp(tvp, uvp, cmp)\
106 ((tvp)->tv_sec cmp (uvp)->tv_sec ||\
107 (tvp)->tv_sec == (uvp)->tv_sec &&\
108 (tvp)->tv_usec cmp (uvp)->tv_usec)
111#define timerclear(tvp)\
112 ((tvp)->tv_sec = (tvp)->tv_usec = 0)
117#if !defined(L_ENDIAN) && !defined(B_ENDIAN)
118#if __BYTE_ORDER == __LITTLE_ENDIAN
120#elif __BYTE_ORDER == __BIG_ENDIAN
123#error Unknown endianness. Edit rdesktop.h.
128#if !defined(NEED_ALIGN)
129#if !(defined(__x86__) || defined(__x86_64__) || \
130 defined(__AMD64__) || defined(_M_IX86) || \
148struct async_iorequest
156 struct async_iorequest *
next;
#define SEC_MAX_MODULUS_SIZE
GLuint GLsizei GLsizei * length
static unsigned __int64 next
HCURSOR cursorcache[0x20]
FONTGLYPH fontcache[12][256]
struct bmpcache_entry bmpcache[3][0xa00]
uint8 deskcache[0x38400 *4]
RDP_ORDER_STATE order_state
uint32 server_public_key_len
uint8 decrypt_update_key[16]
uint8 crypted_random[SEC_MAX_MODULUS_SIZE]
uint8 encrypt_update_key[16]
wchar_t * redirect_domain
struct rdpclient::orders_ orders
unsigned int num_channels
BOOL bitmap_cache_persist_enable
CHANNEL_DEF channel_defs[CHANNEL_MAX_COUNT]
struct rdpclient::rdp_ rdp
wchar_t * redirect_password
int keyboard_functionkeys
struct rdpclient::tcp_ tcp
uint16 server_rdp_version
BOOL bitmap_cache_precache
struct rdpclient::licence_ licence
wchar_t * redirect_username
struct rdpclient::secure_ secure
wchar_t * redirect_server
struct rdpclient::cache_ cache
char licence_hostname[MAX_COMPUTERNAME_LENGTH+1]
uint32 rdp5_performanceflags
BOOL polygon_ellipse_orders
#define MAX_COMPUTERNAME_LENGTH