00001 /* 00002 rdesktop: A Remote Desktop Protocol client. 00003 Common data types 00004 Copyright (C) Matthew Chapman 1999-2002 00005 00006 This program is free software; you can redistribute it and/or modify 00007 it under the terms of the GNU General Public License as published by 00008 the Free Software Foundation; either version 2 of the License, or 00009 (at your option) any later version. 00010 00011 This program is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 GNU General Public License for more details. 00015 00016 You should have received a copy of the GNU General Public License 00017 along with this program; if not, write to the Free Software 00018 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00019 */ 00020 00021 typedef int BOOL; 00022 00023 #ifndef True 00024 #define True (1) 00025 #define False (0) 00026 #endif 00027 00028 typedef unsigned char uint8; 00029 typedef signed char sint8; 00030 typedef unsigned short uint16; 00031 typedef signed short sint16; 00032 typedef unsigned int uint32; 00033 typedef signed int sint32; 00034 00035 typedef void *HBITMAP; 00036 typedef void *HGLYPH; 00037 typedef void *HCOLOURMAP; 00038 typedef void *HCURSOR; 00039 00040 typedef struct _COLOURENTRY 00041 { 00042 uint8 red; 00043 uint8 green; 00044 uint8 blue; 00045 00046 } 00047 COLOURENTRY; 00048 00049 typedef struct _COLOURMAP 00050 { 00051 uint16 ncolours; 00052 COLOURENTRY *colours; 00053 00054 } 00055 COLOURMAP; 00056 00057 typedef struct _BOUNDS 00058 { 00059 sint16 left; 00060 sint16 top; 00061 sint16 right; 00062 sint16 bottom; 00063 00064 } 00065 BOUNDS; 00066 00067 typedef struct _PEN 00068 { 00069 uint8 style; 00070 uint8 width; 00071 uint32 colour; 00072 00073 } 00074 PEN; 00075 00076 typedef struct _BRUSH 00077 { 00078 uint8 xorigin; 00079 uint8 yorigin; 00080 uint8 style; 00081 uint8 pattern[8]; 00082 00083 } 00084 BRUSH; 00085 00086 typedef struct _FONTGLYPH 00087 { 00088 sint16 offset; 00089 sint16 baseline; 00090 uint16 width; 00091 uint16 height; 00092 HBITMAP pixmap; 00093 00094 } 00095 FONTGLYPH; 00096 00097 typedef struct _DATABLOB 00098 { 00099 void *data; 00100 int size; 00101 00102 } 00103 DATABLOB; 00104 00105 typedef struct _key_translation 00106 { 00107 uint8 scancode; 00108 uint16 modifiers; 00109 } 00110 key_translation;
1.4.2