ReactOS  0.4.13-dev-235-g7373cb3
rdesktop-core-tester.cpp File Reference
#include "stdafx.h"
#include <zmouse.h>
#include "rdesktop/rdesktop.h"
#include "rdesktop/proto.h"
Include dependency graph for rdesktop-core-tester.cpp:

Go to the source code of this file.

Classes

struct  CHANNEL_HANDLE_
 

Macros

#define NOT_SET   -1
 

Typedefs

typedef struct CHANNEL_HANDLE_ CHANNEL_HANDLE
 

Functions

void hexdump (unsigned char *p, unsigned int len)
 
void generate_random (uint8 *random)
 
void error (char *format,...)
 
void warning (char *format,...)
 
void unimpl (char *format,...)
 
BOOL rd_pstcache_mkdir (void)
 
int rd_open_file (char *filename)
 
void rd_close_file (int fd)
 
int rd_read_file (int fd, void *ptr, int len)
 
int rd_write_file (int fd, void *ptr, int len)
 
int rd_lseek_file (int fd, int offset)
 
BOOL rd_lock_file (int fd, int start, int len)
 
int load_licence (RDPCLIENT *This, unsigned char **data)
 
void save_licence (RDPCLIENT *This, unsigned char *data, int length)
 
static void mstsc_mousewheel (RDPCLIENT *This, int value, LPARAM lparam)
 
static LRESULT CALLBACK mstsc_WndProc (HWND hwnd, UINT uMsg, WPARAM wparam, LPARAM lparam)
 
static DWORD WINAPI mstsc_ProtocolIOThread (LPVOID lpArgument)
 
void channel_process (RDPCLIENT *This, STREAM s, uint16 mcs_channel)
 
static UINT VCAPITYPE VirtualChannelInit (LPVOID *ppInitHandle, PCHANNEL_DEF pChannel, INT channelCount, ULONG versionRequested, PCHANNEL_INIT_EVENT_FN pChannelInitEventProc)
 
UINT VCAPITYPE VirtualChannelOpen (LPVOID pInitHandle, LPDWORD pOpenHandle, PCHAR pChannelName, PCHANNEL_OPEN_EVENT_FN pChannelOpenEventProc)
 
UINT VCAPITYPE VirtualChannelClose (DWORD openHandle)
 
UINT VCAPITYPE VirtualChannelWrite (DWORD openHandle, LPVOID pData, ULONG dataLength, LPVOID pUserData)
 
int wmain ()
 

Variables

HWND hwnd
 
HBITMAP hbmBuffer
 
PVOID pBuffer
 
HDC hdcBuffer
 
UINT wmZMouseWheel
 
DWORD tlsIndex
 

Macro Definition Documentation

◆ NOT_SET

#define NOT_SET   -1

Typedef Documentation

◆ CHANNEL_HANDLE

Function Documentation

◆ channel_process()

void channel_process ( RDPCLIENT This,
STREAM  s,
uint16  mcs_channel 
)

Definition at line 413 of file rdesktop-core-tester.cpp.

414 {
415 }

◆ error()

void error ( char format,
  ... 
)

Definition at line 49 of file rdesktop-core-tester.cpp.

50  {
51  va_list ap;
52 
53  fprintf(stderr, "ERROR: ");
54 
55  va_start(ap, format);
57  va_end(ap);
58  }
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: gl.h:1546
#define va_end(ap)
Definition: acmsvcex.h:90
_Check_return_opt_ _CRTIMP int __cdecl fprintf(_Inout_ FILE *_File, _In_z_ _Printf_format_string_ const char *_Format,...)
char * va_list
Definition: acmsvcex.h:78
#define va_start(ap, A)
Definition: acmsvcex.h:91
void int int ULONGLONG int va_list * ap
Definition: winesup.h:32
FILE * stderr
_Check_return_opt_ _CRTIMP int __cdecl vfprintf(_Inout_ FILE *_File, _In_z_ _Printf_format_string_ const char *_Format, va_list _ArgList)

◆ generate_random()

void generate_random ( uint8 random)

Definition at line 42 of file rdesktop-core-tester.cpp.

43  {
44  memcpy(random, "12345678901234567890123456789012", 32);
45  }
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
#define random
Definition: rosdhcp.h:81

◆ hexdump()

void hexdump ( unsigned char p,
unsigned int  len 
)

Definition at line 14 of file rdesktop-core-tester.cpp.

15  {
16  unsigned char *line = p;
17  int i, thisline;
18  unsigned int offset = 0;
19 
20  while (offset < len)
21  {
22  printf("%04x ", offset);
23  thisline = len - offset;
24  if (thisline > 16)
25  thisline = 16;
26 
27  for (i = 0; i < thisline; i++)
28  printf("%02x ", line[i]);
29 
30  for (; i < 16; i++)
31  printf(" ");
32 
33  for (i = 0; i < thisline; i++)
34  printf("%c", (line[i] >= 0x20 && line[i] < 0x7f) ? line[i] : '.');
35 
36  printf("\n");
37  offset += thisline;
38  line += thisline;
39  }
40  }
GLintptr offset
Definition: glext.h:5920
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
Definition: parser.c:48
GLenum GLsizei len
Definition: glext.h:6722
GLfloat GLfloat p
Definition: glext.h:8902
#define printf
Definition: config.h:203

◆ load_licence()

int load_licence ( RDPCLIENT This,
unsigned char **  data 
)

Definition at line 172 of file rdesktop-core-tester.cpp.

173  {
174  return -1;
175  }

◆ mstsc_mousewheel()

static void mstsc_mousewheel ( RDPCLIENT This,
int  value,
LPARAM  lparam 
)
static

Definition at line 196 of file rdesktop-core-tester.cpp.

197 {
198  uint16 button;
199 
200  if(value < 0)
201  button = MOUSE_FLAG_BUTTON5;
202  else
203  button = MOUSE_FLAG_BUTTON4;
204 
205  if(value < 0)
206  value = - value;
207 
208  for(int click = 0; click < value; click += WHEEL_DELTA)
210 }
DWORD WINAPI GetTickCount(VOID)
Definition: time.c:445
#define MOUSE_FLAG_BUTTON4
Definition: constants.h:258
#define WHEEL_DELTA
Definition: treelist.c:99
#define MOUSE_FLAG_DOWN
Definition: constants.h:260
static UINT WPARAM LPARAM lparam
Definition: combo.c:716
void rdp_send_input(uint32 time, uint16 message_type, uint16 device_flags, uint16 param1, uint16 param2)
Definition: rdp.c:551
GLsizei const GLfloat * value
Definition: glext.h:6069
#define MOUSE_FLAG_BUTTON5
Definition: constants.h:259
unsigned short uint16
Definition: types.h:30
#define HIWORD(l)
Definition: typedefs.h:246
#define LOWORD(l)
Definition: pedump.c:82

Referenced by mstsc_WndProc().

◆ mstsc_ProtocolIOThread()

static DWORD WINAPI mstsc_ProtocolIOThread ( LPVOID  lpArgument)
static

Definition at line 359 of file rdesktop-core-tester.cpp.

362 {
363  RDPCLIENT * This = static_cast<RDPCLIENT *>(lpArgument);
364 
368 
370 
371  rdp_connect(This, "10.0.0.3", flags, L"Administrator", L"", L"", L"", L"", hostname, "");
372  //rdp_connect(This, "192.168.7.232", flags, "", "", "", "");
373 
375 
376  BITMAPINFO bmi;
377  bmi.bmiHeader.biSize = sizeof(bmi.bmiHeader);
378  bmi.bmiHeader.biWidth = This->width;
379  bmi.bmiHeader.biHeight = This->height;
380  bmi.bmiHeader.biPlanes = 1;
381  bmi.bmiHeader.biBitCount = This->server_depth;
383  bmi.bmiHeader.biSizeImage = 0;
384  bmi.bmiHeader.biXPelsPerMeter = 0;
385  bmi.bmiHeader.biYPelsPerMeter = 0;
386  bmi.bmiHeader.biClrUsed = 0; // TODO! palette displays
387  bmi.bmiHeader.biClrImportant = 0; // TODO! palette displays
388 
390 
392 
393 #if 0
394  rcClip.left = 0;
395  rcClip.top = 0;
396  rcClip.right = This->width + 1;
397  rcClip.bottom = This->height + 1;
398 #endif
399 
402 
404  // TODO: handle redirection
405  // EVENT: OnDisconnect
406 
407  SendMessage(hwnd, WM_CLOSE, 0, 0);
408 
409  return 0;
410 }
#define RDP_LOGON_NORMAL
Definition: precomp.h:24
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
int deactivated
Definition: svgawin.c:63
BITMAPINFOHEADER bmiHeader
Definition: wingdi.h:1454
DWORD biClrImportant
Definition: amvideo.idl:40
#define RDP_LOGON_COMPRESSION
Definition: constants.h:263
LONG biXPelsPerMeter
Definition: amvideo.idl:37
unsigned int uint32
Definition: types.h:32
uint32 ext_disc_reason
Definition: svgawin.c:64
#define ARRAYSIZE(array)
Definition: filtermapper.c:47
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
Definition: dc.c:1497
void rdp_main_loop(RD_BOOL *deactivated, uint32 *ext_disc_reason)
Definition: rdp.c:1682
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
BOOL WINAPI GetComputerNameW(LPWSTR lpBuffer, LPDWORD lpnSize)
Definition: compname.c:440
LONG biYPelsPerMeter
Definition: amvideo.idl:38
char * hostname
Definition: ftp.c:88
RD_BOOL rdp_connect(char *server, uint32 flags, char *domain, char *password, char *command, char *directory, RD_BOOL reconnect)
Definition: rdp.c:1742
unsigned int BOOL
Definition: ntddk_ex.h:94
DWORD biCompression
Definition: amvideo.idl:35
smooth NULL
Definition: ftsmooth.c:416
PVOID pBuffer
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define WM_CLOSE
Definition: winuser.h:1603
#define RDP_LOGON_COMPRESSION2
Definition: constants.h:265
unsigned long DWORD
Definition: ntddk_ex.h:95
DWORD biSizeImage
Definition: amvideo.idl:36
REFIID LPVOID DWORD dw
Definition: atlbase.h:40
GLbitfield flags
Definition: glext.h:7161
HDC hdcBuffer
static const WCHAR L[]
Definition: oid.c:1250
#define MAX_COMPUTERNAME_LENGTH
Definition: winbase.h:240
HBITMAP WINAPI CreateDIBSection(HDC hDC, CONST BITMAPINFO *BitmapInfo, UINT Usage, VOID **Bits, HANDLE hSection, DWORD dwOffset)
Definition: bitmap.c:197
#define SendMessage
Definition: winuser.h:5709
#define DIB_RGB_COLORS
Definition: wingdi.h:366
HBITMAP hbmBuffer
#define BI_RGB
Definition: precomp.h:35

Referenced by wmain().

◆ mstsc_WndProc()

static LRESULT CALLBACK mstsc_WndProc ( HWND  hwnd,
UINT  uMsg,
WPARAM  wparam,
LPARAM  lparam 
)
static

Definition at line 215 of file rdesktop-core-tester.cpp.

216 {
217  // BUGBUG: LongToPtr & PtrToLong will break on Win64
218 
219  RDPCLIENT * This = reinterpret_cast<RDPCLIENT *>(LongToPtr(GetWindowLongPtr(hwnd, GWLP_USERDATA)));
220 
221  switch(uMsg)
222  {
223  case WM_CLOSE:
225  break;
226 
227  // FIXME: temporary
228  case WM_DESTROY:
229  PostQuitMessage(0);
230  break;
231 
232  /* Initialization */
233  case WM_CREATE:
234  This = static_cast<RDPCLIENT *>(reinterpret_cast<LPCREATESTRUCT>(lparam)->lpCreateParams);
236  break;
237 
238  /* Painting */
239  case WM_PRINTCLIENT:
240  if(wparam == 0)
241  break;
242 
243  case WM_PAINT:
244  {
245  HDC hdc = (HDC)wparam;
246 
247  // A DC was provided: print the whole client area into it
248  if(hdc)
249  {
250  RECT rc;
251  GetClientRect(hwnd, &rc);
252  BitBlt(hdc, 0, 0, rc.right, rc.bottom, hdcBuffer, 0, 0, SRCCOPY);
253  }
254  // Otherwise, we're refreshing to screen
255  else
256  {
257  PAINTSTRUCT ps;
258  hdc = BeginPaint(hwnd, &ps);
259 
260  BitBlt
261  (
262  hdc,
263  ps.rcPaint.left,
264  ps.rcPaint.top,
265  ps.rcPaint.right - ps.rcPaint.left,
266  ps.rcPaint.bottom - ps.rcPaint.top,
267  hdcBuffer,
268  ps.rcPaint.left,
269  ps.rcPaint.top,
270  SRCCOPY
271  );
272 
273  EndPaint(hwnd, &ps);
274  }
275  }
276 
277  break;
278 
279  /* Keyboard stuff */
280  case WM_SYSKEYDOWN:
281  case WM_KEYDOWN:
283  break;
284 
285  case WM_SYSKEYUP:
286  case WM_KEYUP:
288  break;
289 
290  /* Mouse stuff */
291  // Cursor shape
292  case WM_SETCURSOR:
293  if(LOWORD(lparam) == HTCLIENT)
294  {
295  //SetCursor(hcursor);
296  return TRUE;
297  }
298 
299  break;
300 
301  // Movement
302  case WM_MOUSEMOVE:
303  //if(This->sendmotion || wparam & (MK_LBUTTON | MK_RBUTTON | MK_MBUTTON | MK_XBUTTON1 | MK_XBUTTON2))
305 
306  break;
307 
308  // Buttons
309  // TODO: X buttons
310  case WM_LBUTTONDOWN:
312  break;
313 
314  case WM_RBUTTONDOWN:
316  break;
317 
318  case WM_MBUTTONDOWN:
320  break;
321 
322  case WM_LBUTTONUP:
324  break;
325 
326  case WM_RBUTTONUP:
328  break;
329 
330  case WM_MBUTTONUP:
332  break;
333 
334  // Wheel
335  case WM_MOUSEWHEEL:
337  break;
338 
339  default:
340  /* Registered messages */
341  // Z-Mouse wheel support - you know, just in case
342  if(uMsg == wmZMouseWheel)
343  {
345  break;
346  }
347 
348  /* Unhandled messages */
349  return DefWindowProc(hwnd, uMsg, wparam, lparam);
350  }
351 
352  return 0;
353 }
#define WM_MBUTTONUP
Definition: winuser.h:1759
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
#define RDP_KEYPRESS
Definition: constants.h:251
#define TRUE
Definition: types.h:120
#define LongToPtr(l)
Definition: basetsd.h:91
#define WM_LBUTTONDOWN
Definition: winuser.h:1752
#define LOBYTE(W)
Definition: jmemdos.c:487
#define WM_MOUSEWHEEL
Definition: treelist.c:96
#define PtrToLong(p)
Definition: basetsd.h:84
static HDC
Definition: imagelist.c:92
LONG top
Definition: windef.h:292
LONG WINAPI GetMessageTime(void)
Definition: message.c:1360
#define MOUSE_FLAG_BUTTON1
Definition: constants.h:255
LONG left
Definition: windef.h:291
BOOL WINAPI EndPaint(_In_ HWND, _In_ const PAINTSTRUCT *)
LONG right
Definition: windef.h:293
BOOL WINAPI DestroyWindow(_In_ HWND)
static VOID NTAPI BitBlt(IN ULONG Left, IN ULONG Top, IN ULONG Width, IN ULONG Height, IN PUCHAR Buffer, IN ULONG BitsPerPixel, IN ULONG Delta)
Definition: vga.c:416
#define SetWindowLongPtr
Definition: treelist.c:70
#define WM_PRINTCLIENT
Definition: richedit.h:70
#define MOUSE_FLAG_DOWN
Definition: constants.h:260
#define WM_SETCURSOR
Definition: winuser.h:1618
short SHORT
Definition: pedump.c:59
HDC WINAPI BeginPaint(_In_ HWND, _Out_ LPPAINTSTRUCT)
static UINT WPARAM LPARAM lparam
Definition: combo.c:716
#define GWLP_USERDATA
Definition: treelist.c:63
#define WM_KEYDOWN
Definition: winuser.h:1691
#define MOUSE_FLAG_BUTTON3
Definition: constants.h:257
UINT wmZMouseWheel
#define DefWindowProc
Definition: ros2win.h:31
#define WM_DESTROY
Definition: winuser.h:1591
#define WM_RBUTTONDOWN
Definition: winuser.h:1755
void rdp_send_input(uint32 time, uint16 message_type, uint16 device_flags, uint16 param1, uint16 param2)
Definition: rdp.c:551
#define MOUSE_FLAG_MOVE
Definition: constants.h:254
#define WM_CLOSE
Definition: winuser.h:1603
#define KBD_FLAG_EXT
Definition: constants.h:240
#define WM_KEYUP
Definition: winuser.h:1692
#define WM_RBUTTONUP
Definition: winuser.h:1756
#define WM_PAINT
Definition: winuser.h:1602
HDC hdcBuffer
HDC hdc
Definition: main.c:9
static void mstsc_mousewheel(RDPCLIENT *This, int value, LPARAM lparam)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
#define WM_SYSKEYUP
Definition: winuser.h:1696
#define WM_LBUTTONUP
Definition: winuser.h:1753
#define WM_MBUTTONDOWN
Definition: winuser.h:1758
#define WM_MOUSEMOVE
Definition: winuser.h:1751
#define MOUSE_FLAG_BUTTON2
Definition: constants.h:256
#define WM_CREATE
Definition: winuser.h:1590
#define WM_SYSKEYDOWN
Definition: winuser.h:1695
#define HIWORD(l)
Definition: typedefs.h:246
LONG bottom
Definition: windef.h:294
#define RDP_KEYRELEASE
Definition: constants.h:252
#define GetWindowLongPtr
Definition: treelist.c:73
#define HTCLIENT
Definition: winuser.h:2429
#define LOWORD(l)
Definition: pedump.c:82
__analysis_noreturn void WINAPI PostQuitMessage(_In_ int)
#define SRCCOPY
Definition: wingdi.h:332
static UINT WPARAM wparam
Definition: combo.c:716

Referenced by wmain().

◆ rd_close_file()

void rd_close_file ( int  fd)

Definition at line 137 of file rdesktop-core-tester.cpp.

138  {
139  _close(fd);
140  }
static int fd
Definition: io.c:51
_Check_return_opt_ _CRTIMP int __cdecl _close(_In_ int _FileHandle)

◆ rd_lock_file()

BOOL rd_lock_file ( int  fd,
int  start,
int  len 
)

Definition at line 165 of file rdesktop-core-tester.cpp.

166  {
167  // TODOOO...
168  return False;
169  }
#define False
Definition: types.h:25

◆ rd_lseek_file()

int rd_lseek_file ( int  fd,
int  offset 
)

Definition at line 158 of file rdesktop-core-tester.cpp.

159  {
160  return _lseek(fd, offset, SEEK_SET);
161  }
GLintptr offset
Definition: glext.h:5920
static int fd
Definition: io.c:51
#define SEEK_SET
Definition: jmemansi.c:26
_Check_return_opt_ _CRTIMP long __cdecl _lseek(_In_ int _FileHandle, _In_ long _Offset, _In_ int _Origin)

◆ rd_open_file()

int rd_open_file ( char filename)

Definition at line 119 of file rdesktop-core-tester.cpp.

120  {
121  char *home;
122  char fn[256];
123  int fd;
124 
125  home = getenv("HOME");
126  if (home == NULL)
127  return -1;
128  sprintf(fn, "%s/.rdesktop/%s", home, filename);
129  fd = _open(fn, _O_RDWR | _O_CREAT, 0);
130  if (fd == -1)
131  perror(fn);
132  return fd;
133  }
static GLenum _GLUfuncptr fn
Definition: wgl_font.c:159
#define _O_CREAT
Definition: cabinet.h:46
static int fd
Definition: io.c:51
const char * filename
Definition: ioapi.h:135
#define sprintf(buf, format,...)
Definition: sprintf.c:55
#define _O_RDWR
Definition: cabinet.h:39
_CRTIMP void __cdecl perror(_In_opt_z_ const char *_ErrMsg)
smooth NULL
Definition: ftsmooth.c:416
Definition: tftpd.h:37
char home[]
Definition: main.c:47
_Check_return_ char *__cdecl getenv(_In_z_ const char *_VarName)
_CRTIMP int __cdecl _open(const char *_Filename, int _OpenFlag,...)
Definition: file.c:2001

◆ rd_pstcache_mkdir()

BOOL rd_pstcache_mkdir ( void  )

Definition at line 88 of file rdesktop-core-tester.cpp.

89  {
90  char *home;
91  char bmpcache_dir[256];
92 
93  home = getenv("HOME");
94 
95  if (home == NULL)
96  return False;
97 
98  sprintf(bmpcache_dir, "%s/%s", home, ".rdesktop");
99 
100  if ((_mkdir(bmpcache_dir) == -1) && errno != EEXIST)
101  {
102  perror(bmpcache_dir);
103  return False;
104  }
105 
106  sprintf(bmpcache_dir, "%s/%s", home, ".rdesktop/cache");
107 
108  if ((_mkdir(bmpcache_dir) == -1) && errno != EEXIST)
109  {
110  perror(bmpcache_dir);
111  return False;
112  }
113 
114  return True;
115  }
int errno
#define EEXIST
Definition: acclib.h:88
#define sprintf(buf, format,...)
Definition: sprintf.c:55
_CRTIMP void __cdecl perror(_In_opt_z_ const char *_ErrMsg)
smooth NULL
Definition: ftsmooth.c:416
#define True
Definition: types.h:24
#define False
Definition: types.h:25
Definition: tftpd.h:37
char home[]
Definition: main.c:47
_Check_return_ char *__cdecl getenv(_In_z_ const char *_VarName)
_Check_return_ _CRTIMP int __cdecl _mkdir(_In_z_ const char *_Path)

◆ rd_read_file()

int rd_read_file ( int  fd,
void ptr,
int  len 
)

Definition at line 144 of file rdesktop-core-tester.cpp.

145  {
146  return _read(fd, ptr, len);
147  }
static int fd
Definition: io.c:51
static PVOID ptr
Definition: dispmode.c:27
_Check_return_ _CRTIMP int __cdecl _read(_In_ int _FileHandle, _Out_writes_bytes_(_MaxCharCount) void *_DstBuf, _In_ unsigned int _MaxCharCount)
GLenum GLsizei len
Definition: glext.h:6722

◆ rd_write_file()

int rd_write_file ( int  fd,
void ptr,
int  len 
)

Definition at line 151 of file rdesktop-core-tester.cpp.

152  {
153  return _write(fd, ptr, len);
154  }
_CRTIMP int __cdecl _write(_In_ int _FileHandle, _In_reads_bytes_(_MaxCharCount) const void *_Buf, _In_ unsigned int _MaxCharCount)
static int fd
Definition: io.c:51
static PVOID ptr
Definition: dispmode.c:27
GLenum GLsizei len
Definition: glext.h:6722

◆ save_licence()

void save_licence ( RDPCLIENT This,
unsigned char data,
int  length 
)

Definition at line 178 of file rdesktop-core-tester.cpp.

179  {
180  }

◆ unimpl()

void unimpl ( char format,
  ... 
)

Definition at line 75 of file rdesktop-core-tester.cpp.

76  {
77  va_list ap;
78 
79  fprintf(stderr, "NOT IMPLEMENTED: ");
80 
81  va_start(ap, format);
83  va_end(ap);
84  }
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: gl.h:1546
#define va_end(ap)
Definition: acmsvcex.h:90
_Check_return_opt_ _CRTIMP int __cdecl fprintf(_Inout_ FILE *_File, _In_z_ _Printf_format_string_ const char *_Format,...)
char * va_list
Definition: acmsvcex.h:78
#define va_start(ap, A)
Definition: acmsvcex.h:91
void int int ULONGLONG int va_list * ap
Definition: winesup.h:32
FILE * stderr
_Check_return_opt_ _CRTIMP int __cdecl vfprintf(_Inout_ FILE *_File, _In_z_ _Printf_format_string_ const char *_Format, va_list _ArgList)

◆ VirtualChannelClose()

UINT VCAPITYPE VirtualChannelClose ( DWORD  openHandle)

Definition at line 532 of file rdesktop-core-tester.cpp.

535 {
536  // TODO: channel handle management
537  return CHANNEL_RC_BAD_CHANNEL_HANDLE;
538 }

◆ VirtualChannelInit()

static UINT VCAPITYPE VirtualChannelInit ( LPVOID ppInitHandle,
PCHANNEL_DEF  pChannel,
INT  channelCount,
ULONG  versionRequested,
PCHANNEL_INIT_EVENT_FN  pChannelInitEventProc 
)
static

Definition at line 430 of file rdesktop-core-tester.cpp.

437 {
438  if(channelCount <= 0)
439  return CHANNEL_RC_BAD_CHANNEL;
440 
441  if(ppInitHandle == NULL)
442  return CHANNEL_RC_BAD_INIT_HANDLE;
443 
444  if(pChannel == NULL)
445  return CHANNEL_RC_BAD_CHANNEL;
446 
447  if(pChannelInitEventProc == NULL)
448  return CHANNEL_RC_BAD_PROC;
449 
451 
452  if(This == NULL)
453  return CHANNEL_RC_NOT_IN_VIRTUALCHANNELENTRY;
454 
455  if(This->num_channels + channelCount > CHANNEL_MAX_COUNT)
456  return CHANNEL_RC_TOO_MANY_CHANNELS;
457 
458  for(INT i = 0; i < channelCount; ++ i)
459  {
460  if(strlen(pChannel[i].name) > CHANNEL_NAME_LEN)
461  return CHANNEL_RC_BAD_CHANNEL;
462  }
463 
464  memcpy(This->channel_defs + This->num_channels, pChannel, sizeof(*pChannel) * channelCount);
465 
466 #if 0 // TODO
467  for(INT i = 0; i < channelCount; ++ i)
468  {
469  pChannel[i].options |= CHANNEL_OPTION_INITIALIZED;
470 
471  int j = This->num_channels + i;
472  This->channel_data[j].opened = 0;
473  This->channel_data[j].pChannelInitEventProc = pChannelInitEventProc;
474  This->channel_data[j].pChannelOpenEventProc = NULL;
475  }
476 #endif
477 
478  This->num_channels += channelCount;
479 
480  *ppInitHandle = This;
481 
482  return CHANNEL_RC_OK;
483 }
ACPI_SIZE strlen(const char *String)
Definition: utclib.c:269
int32_t INT
Definition: typedefs.h:56
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define CHANNEL_OPTION_INITIALIZED
Definition: constants.h:431
smooth NULL
Definition: ftsmooth.c:416
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
Definition: glfuncs.h:250
DWORD tlsIndex
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
LPVOID WINAPI TlsGetValue(IN DWORD Index)
Definition: thread.c:1190
Definition: name.c:36

◆ VirtualChannelOpen()

UINT VCAPITYPE VirtualChannelOpen ( LPVOID  pInitHandle,
LPDWORD  pOpenHandle,
PCHAR  pChannelName,
PCHANNEL_OPEN_EVENT_FN  pChannelOpenEventProc 
)

Definition at line 488 of file rdesktop-core-tester.cpp.

494 {
495  if(pInitHandle == NULL)
496  return CHANNEL_RC_BAD_INIT_HANDLE;
497 
498  if(pOpenHandle == NULL)
499  return CHANNEL_RC_BAD_CHANNEL_HANDLE;
500 
501  if(pChannelName == NULL)
502  return CHANNEL_RC_UNKNOWN_CHANNEL_NAME;
503 
504  if(pChannelOpenEventProc == NULL)
505  return CHANNEL_RC_BAD_PROC;
506 
507  RDPCLIENT * This = (RDPCLIENT *)pInitHandle;
508 
509 #if 0 // TODO
510  for(unsigned i = 0; i < This->num_channels; ++ i)
511  {
512  if(strcmp(pChannelName, This->channel_defs[i].name) == 0)
513  {
514  if(This->channel_data[i].opened)
515  return CHANNEL_RC_ALREADY_OPEN;
516 
517  This->channel_data[i].opened = 1;
518  This->channel_data[i].pChannelOpenEventProc = pChannelOpenEventProc;
519 
520  // TODO: allocate a handle here
521  *pOpenHandle = 0;
522 
523  break;
524  }
525  }
526 #endif
527 
528  return CHANNEL_RC_OK;
529 }
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
smooth NULL
Definition: ftsmooth.c:416
int strcmp(const char *String1, const char *String2)
Definition: utclib.c:469

◆ VirtualChannelWrite()

UINT VCAPITYPE VirtualChannelWrite ( DWORD  openHandle,
LPVOID  pData,
ULONG  dataLength,
LPVOID  pUserData 
)

Definition at line 541 of file rdesktop-core-tester.cpp.

547 {
548  // TODO
549  return CHANNEL_RC_BAD_CHANNEL_HANDLE;
550 }

◆ warning()

void warning ( char format,
  ... 
)

Definition at line 62 of file rdesktop-core-tester.cpp.

63  {
64  va_list ap;
65 
66  fprintf(stderr, "WARNING: ");
67 
68  va_start(ap, format);
70  va_end(ap);
71  }
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: gl.h:1546
#define va_end(ap)
Definition: acmsvcex.h:90
_Check_return_opt_ _CRTIMP int __cdecl fprintf(_Inout_ FILE *_File, _In_z_ _Printf_format_string_ const char *_Format,...)
char * va_list
Definition: acmsvcex.h:78
#define va_start(ap, A)
Definition: acmsvcex.h:91
void int int ULONGLONG int va_list * ap
Definition: winesup.h:32
FILE * stderr
_Check_return_opt_ _CRTIMP int __cdecl vfprintf(_Inout_ FILE *_File, _In_z_ _Printf_format_string_ const char *_Format, va_list _ArgList)

◆ wmain()

int wmain ( )

Definition at line 552 of file rdesktop-core-tester.cpp.

553 {
554  WSADATA wsd;
555  WSAStartup(MAKEWORD(2, 2), &wsd);
556 
557  static RDPCLIENT This_; // NOTE: this is HUGE and would overflow the stack!
558  ZeroMemory(&This_, sizeof(This_));
559 
560  RDPCLIENT * This = &This_;
561 
562  /*
563  Threading model for MissTosca:
564  - main thread is the GUI thread. Message loop maintained by caller
565  - protocol I/O is handled in an I/O thread (or thread pool)
566  - extra threads maintained by virtual channel handlers. Virtual channel writes are thread-neutral
567 
568  How we handle drawing: at the moment just an off-screen buffer we dump on-screen when asked to.
569  Still considering how to draw on-screen directly and *then* buffering off-screen (for example,
570  when running inside another remote session)
571  */
572 
573  // FIXME: keyboard mess
574  This->keylayout = 0x409;
575  This->keyboard_type = 0x4;
576  This->keyboard_subtype = 0x0;
577  This->keyboard_functionkeys = 0xc;
578  This->width = 800;
579  This->height = 600;
580  This->server_depth = 24;
581  This->bitmap_compression = True;
582  //This->sendmotion = True;
583  This->bitmap_cache = True;
584  This->bitmap_cache_persist_enable = False;
585  This->bitmap_cache_precache = True;
586  This->encryption = True;
587  This->packet_encryption = True;
588  This->desktop_save = True;
589  This->polygon_ellipse_orders = False; // = True;
590  //This->fullscreen = False;
591  //This->grab_keyboard = True;
592  //This->hide_decorations = False;
593  This->use_rdp5 = True;
594  //This->rdpclip = True;
595  This->console_session = False;
596  //This->numlock_sync = False;
597  //This->seamless_rdp = False;
599  This->tcp_port_rdp = TCP_PORT_RDP;
600 
601 #define NOT_SET -1
602  This->cache.bmpcache_lru[0] = NOT_SET;
603  This->cache.bmpcache_lru[1] = NOT_SET;
604  This->cache.bmpcache_lru[2] = NOT_SET;
605  This->cache.bmpcache_mru[0] = NOT_SET;
606  This->cache.bmpcache_mru[1] = NOT_SET;
607  This->cache.bmpcache_mru[2] = NOT_SET;
608 
609  This->rdp.current_status = 1;
610 
611  //hcursor = NULL;
612 
613  WNDCLASS wc;
614  ZeroMemory(&wc, sizeof(wc));
615 
617  wc.hbrBackground = static_cast<HBRUSH>(GetStockObject(HOLLOW_BRUSH));
618  wc.lpszClassName = TEXT("MissTosca_Desktop");
619 
620  wmZMouseWheel = RegisterWindowMessage(MSH_MOUSEWHEEL);
621 
622  ATOM a = RegisterClass(&wc);
623 
625  (
626  MAKEINTATOM(a),
627  NULL,
631  This->width,
632  This->height,
633  NULL,
634  NULL,
635  NULL,
636  This
637  );
638 
639  // The righ time to start the protocol thread
642 
643  // Your standard, garden variety message loop
644  MSG msg;
645 
646  while(GetMessage(&msg, NULL, 0, 0))
647  {
650  }
651 }
HGDIOBJ WINAPI GetStockObject(_In_ int)
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
#define DispatchMessage
Definition: winuser.h:5631
BOOL WINAPI TranslateMessage(_In_ const MSG *)
static DWORD WINAPI mstsc_ProtocolIOThread(LPVOID lpArgument)
#define CreateWindow
Definition: winuser.h:5620
#define MAKEWORD(a, b)
Definition: typedefs.h:247
WORD ATOM
Definition: dimm.idl:113
TW_UINT32 TW_UINT16 TW_UINT16 MSG
Definition: twain.h:1827
#define ZeroMemory
Definition: winbase.h:1635
HBRUSH hbrBackground
Definition: winuser.h:3123
static LRESULT CALLBACK mstsc_WndProc(HWND hwnd, UINT uMsg, WPARAM wparam, LPARAM lparam)
#define NOT_SET
#define CW_USEDEFAULT
Definition: winuser.h:225
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
Definition: thread.c:111
INT WINAPI WSAStartup(IN WORD wVersionRequested, OUT LPWSADATA lpWSAData)
Definition: startup.c:113
smooth NULL
Definition: ftsmooth.c:416
#define TCP_PORT_RDP
Definition: constants.h:21
UINT wmZMouseWheel
#define True
Definition: types.h:24
#define RDP5_NO_MENUANIMATIONS
Definition: constants.h:271
#define RDP5_NO_FULLWINDOWDRAG
Definition: constants.h:270
#define False
Definition: types.h:25
#define HOLLOW_BRUSH
Definition: wingdi.h:898
unsigned long DWORD
Definition: ntddk_ex.h:95
DWORD dwThreadId
Definition: fdebug.c:31
#define RDP5_NO_WALLPAPER
Definition: constants.h:269
LPCSTR lpszClassName
Definition: winuser.h:3125
#define RegisterWindowMessage
Definition: winuser.h:5706
#define TEXT(s)
Definition: k32.h:26
#define WS_POPUP
Definition: pedump.c:616
#define GetMessage
Definition: winuser.h:5656
HANDLE hThread
Definition: wizard.c:27
WNDPROC lpfnWndProc
Definition: winuser.h:3117
#define msg(x)
Definition: auth_time.c:54
#define RegisterClass
Definition: winuser.h:5702
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204
#define WS_VISIBLE
Definition: pedump.c:620
static WSADATA wsd
Definition: adapter.c:5
#define MAKEINTATOM(i)
Definition: winbase.h:1416

Variable Documentation

◆ hbmBuffer

HBITMAP hbmBuffer

Definition at line 187 of file rdesktop-core-tester.cpp.

Referenced by mstsc_ProtocolIOThread().

◆ hdcBuffer

HDC hdcBuffer

◆ hwnd

Definition at line 186 of file rdesktop-core-tester.cpp.

◆ pBuffer

PVOID pBuffer

Definition at line 188 of file rdesktop-core-tester.cpp.

Referenced by _Success_(), AboutProtocolInfo_QueryInfo(), AlignRpcPtr(), AppendToBuffer(), ApplyRegistryValues(), ASYNC_STGMEDIUM_UserMarshal(), ASYNC_STGMEDIUM_UserUnmarshal(), AVISplitter_InputPin_PreConnect(), BackgroundCopyJob_GetReplyData(), CcMapData(), CcpMapData(), CLIPFORMAT_UserMarshal(), CLIPFORMAT_UserUnmarshal(), cmdHelpMsg(), CMediaSample_Constructor(), ConsolePager(), DECLARE_INTERFACE_(), DriverFilesCallback(), EngDxIoctl(), EnumDepend(), EnumerateGroups(), EnumerateLocalGroups(), EnumerateUsers(), ExtractIP(), ExtractName(), ExtractZipImage(), FileAsyncReader_Request(), FileAsyncReader_SyncRead(), FileAsyncReader_SyncReadAligned(), FileGetString(), FindMimeFromData(), FLAG_STGMEDIUM_UserMarshal(), FLAG_STGMEDIUM_UserUnmarshal(), FormatBufferFat(), FreeCircularBuffer(), GetClassFileOrMime(), GetDisplayName(), GetFilePatchSignatureByHandle(), GetInterfaceType(), GetKeyName(), GetNumberOfElementsInCircularBuffer(), GetStringValue(), CTooltips::GetText(), handle_UserMarshal(), handle_UserUnmarshal(), HENHMETAFILE_UserMarshal(), HENHMETAFILE_UserUnmarshal(), HGLOBAL_UserMarshal(), HGLOBAL_UserUnmarshal(), HMETAFILE_UserMarshal(), HMETAFILE_UserUnmarshal(), HMETAFILEPICT_UserMarshal(), HMETAFILEPICT_UserUnmarshal(), HPALETTE_UserMarshal(), HPALETTE_UserUnmarshal(), HtmlLoadOptions_QueryOption(), HtmlLoadOptions_SetOption(), HttpInfo_QueryInfo(), HttpInfo_QueryOption(), IncreaseCircularBufferSize(), InitializeCircularBuffer(), InitLog(), InitUserGroupsList(), InternetSession_SetSessionOption(), InternetTransport_WndProc(), IntGdiGetFontResourceInfo(), IsCircularBufferEmpty(), ITSProtocolInfo_QueryInfo(), IWinInetHttpInfo_QueryInfo_Proxy(), IWinInetHttpInfo_QueryInfo_Stub(), IWinInetInfo_QueryOption_Proxy(), IWinInetInfo_QueryOption_Stub(), JSProtocolInfo_QueryInfo(), kerberos_QueryContextAttributesA(), kerberos_QueryContextAttributesW(), kerberos_QueryCredentialsAttributesA(), kerberos_QueryCredentialsAttributesW(), LayoutList_Create(), CJournaledTestList::LoadJournalFile(), LoadSMBiosData(), LoadStringRC(), LoadStringRCEx(), LocalmonReadPort(), LocalmonWritePort(), MediaDet_GetBitmapBits(), MimeHtmlProtocolInfo_QueryInfo(), MMSYS_InstallDevice(), mstsc_ProtocolIOThread(), nego_QueryContextAttributesA(), nego_QueryContextAttributesW(), nego_QueryCredentialsAttributesA(), nego_QueryCredentialsAttributesW(), NewEnumFontFamiliesExW(), ntlm_QueryContextAttributesA(), ntlm_QueryContextAttributesW(), ntlm_QueryCredentialsAttributesA(), ntlm_QueryCredentialsAttributesW(), OLECONVERT_GetOLE20FromOLE10(), PeFmtCreateSection(), PEN_GetObject(), PerfDataRefresh(), pointer_default(), POP3Transport_CallbackProcessDELEResp(), POP3Transport_CallbackProcessLISTResp(), POP3Transport_CallbackProcessNOOPResp(), POP3Transport_CallbackProcessPASSResp(), POP3Transport_CallbackProcessQUITResponse(), POP3Transport_CallbackProcessRETRResp(), POP3Transport_CallbackProcessRSETResp(), POP3Transport_CallbackProcessSTATResp(), POP3Transport_CallbackProcessTOPResp(), POP3Transport_CallbackProcessUIDLResp(), POP3Transport_CallbackProcessUSERResp(), PopCircularBufferEntry(), PrintAllJobs(), PrintByteDataLine(), PrintD2(), PrintDebug(), PrintErrorMessage(), PrintJobDetails(), PrintMessageString(), PrintMessageStringV(), PrintNetMessage(), PrintPaddedMessageString(), PrintRawJob(), PrintWordDataLine(), PROFILE_Load(), PushCircularBufferEntry(), QueryContextAttributesA(), QueryContextAttributesW(), QueryCredentialsAttributesA(), QueryCredentialsAttributesW(), RasSecurityDialogGetInfo(), RasSecurityDialogReceive(), RasSecurityDialogSend(), CKsAllocator::ReleaseBuffer(), ResProtocolInfo_QueryInfo(), SaveCustomPath(), ScmDecryptPassword(), ScmEncryptPassword(), SetContextAttributesA(), SetContextAttributesW(), SetupDiGetDriverInfoDetailW(), SetupGetInfFileListW(), SetWelcomeText(), SMTPTransport_CallbackDisconnect(), SMTPTransport_CallbackMessageProcessResponse(), SMTPTransport_CallbackMessageSendDataStream(), SMTPTransport_CallbackMessageSendTo(), SMTPTransport_CallbackProcessDATAResponse(), SMTPTransport_CallbackProcessHelloResp(), SMTPTransport_CallbackProcessMAILResponse(), SMTPTransport_CallbackProcessRCPTResponse(), SMTPTransport_CallbackSendHello(), SNB_UserMarshal(), SNB_UserUnmarshal(), STGMEDIUM_UserMarshal(), STGMEDIUM_UserUnmarshal(), SystemFunction036(), test_pack_userBITMAP(), thunk_ContextAttributesAToW(), thunk_ContextAttributesWToA(), thunk_QueryContextAttributesA(), thunk_QueryContextAttributesW(), thunk_QueryCredentialsAttributesA(), thunk_QueryCredentialsAttributesW(), thunk_SetContextAttributesA(), thunk_SetContextAttributesW(), UpdateGroupsList(), UpdateUsersList(), UrlMkGetSessionOption(), UrlMkSetSessionOption(), UXTHEME_RegionFromDibBits(), VfdMakeFileDesc(), VideoPortDDCMonitorHelper(), WdtpInterfacePointer_UserMarshal(), WdtpInterfacePointer_UserUnmarshal(), WinInetHttpInfo_QueryInfo(), WinInetHttpInfo_QueryOption(), WTSSetUserConfigA(), and WTSSetUserConfigW().

◆ tlsIndex

DWORD tlsIndex

Definition at line 417 of file rdesktop-core-tester.cpp.

Referenced by VirtualChannelInit().

◆ wmZMouseWheel

UINT wmZMouseWheel

Definition at line 190 of file rdesktop-core-tester.cpp.

Referenced by mstsc_WndProc(), and wmain().