Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygentypes.h
Go to the documentation of this file.
00001 /* 00002 rdesktop: A Remote Desktop Protocol client. 00003 Common data types 00004 Copyright (C) Matthew Chapman 1999-2005 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 along 00017 with this program; if not, write to the Free Software Foundation, Inc., 00018 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 00019 */ 00020 00021 #ifndef True 00022 #define True (1) 00023 #define False (0) 00024 #endif 00025 00026 typedef unsigned char uint8; 00027 typedef signed char sint8; 00028 typedef unsigned short uint16; 00029 typedef signed short sint16; 00030 typedef unsigned int uint32; 00031 typedef signed int sint32; 00032 00033 typedef void *RD_HBITMAP; 00034 typedef void *RD_HGLYPH; 00035 typedef void *RD_HCOLOURMAP; 00036 typedef void *RD_HCURSOR; 00037 00038 typedef struct _RD_POINT 00039 { 00040 sint16 x, y; 00041 } 00042 RD_POINT; 00043 00044 typedef struct _COLOURENTRY 00045 { 00046 uint8 red; 00047 uint8 green; 00048 uint8 blue; 00049 00050 } 00051 COLOURENTRY; 00052 00053 typedef struct _COLOURMAP 00054 { 00055 uint16 ncolours; 00056 COLOURENTRY *colours; 00057 00058 } 00059 COLOURMAP; 00060 00061 typedef struct _BOUNDS 00062 { 00063 sint16 left; 00064 sint16 top; 00065 sint16 right; 00066 sint16 bottom; 00067 00068 } 00069 BOUNDS; 00070 00071 typedef struct _PEN 00072 { 00073 uint8 style; 00074 uint8 width; 00075 uint32 colour; 00076 00077 } 00078 PEN; 00079 00080 typedef struct _BRUSH 00081 { 00082 uint8 xorigin; 00083 uint8 yorigin; 00084 uint8 style; 00085 uint8 pattern[8]; 00086 00087 } 00088 BRUSH; 00089 00090 typedef struct _FONTGLYPH 00091 { 00092 sint16 offset; 00093 sint16 baseline; 00094 uint16 width; 00095 uint16 height; 00096 RD_HBITMAP pixmap; 00097 00098 } 00099 FONTGLYPH; 00100 00101 typedef struct _DATABLOB 00102 { 00103 void *data; 00104 int size; 00105 00106 } 00107 DATABLOB; 00108 00109 typedef struct _key_translation 00110 { 00111 /* For normal scancode translations */ 00112 uint8 scancode; 00113 uint16 modifiers; 00114 /* For sequences. If keysym is nonzero, the fields above are not used. */ 00115 uint32 seq_keysym; /* Really KeySym */ 00116 struct _key_translation *next; 00117 } 00118 key_translation; 00119 00120 typedef struct _VCHANNEL 00121 { 00122 uint16 mcs_id; 00123 char name[8]; 00124 uint32 flags; 00125 struct stream in; 00126 void (*process) (STREAM); 00127 } 00128 VCHANNEL; 00129 00130 /* PSTCACHE */ 00131 typedef uint8 HASH_KEY[8]; 00132 00133 /* Header for an entry in the persistent bitmap cache file */ 00134 typedef struct _PSTCACHE_CELLHEADER 00135 { 00136 HASH_KEY key; 00137 uint8 width, height; 00138 uint16 length; 00139 uint32 stamp; 00140 } 00141 CELLHEADER; 00142 00143 #define MAX_CBSIZE 256 00144 00145 /* RDPSND */ 00146 typedef struct 00147 { 00148 uint16 wFormatTag; 00149 uint16 nChannels; 00150 uint32 nSamplesPerSec; 00151 uint32 nAvgBytesPerSec; 00152 uint16 nBlockAlign; 00153 uint16 wBitsPerSample; 00154 uint16 cbSize; 00155 uint8 cb[MAX_CBSIZE]; 00156 } RD_WAVEFORMATEX; 00157 00158 typedef struct _RDPCOMP 00159 { 00160 uint32 roff; 00161 uint8 hist[RDP_MPPC_DICT_SIZE]; 00162 struct stream ns; 00163 } 00164 RDPCOMP; 00165 00166 /* RDPDR */ 00167 typedef uint32 RD_NTSTATUS; 00168 typedef uint32 RD_NTHANDLE; 00169 00170 typedef struct _DEVICE_FNS 00171 { 00172 RD_NTSTATUS(*create) (uint32 device, uint32 desired_access, uint32 share_mode, 00173 uint32 create_disposition, uint32 flags_and_attributes, char *filename, 00174 RD_NTHANDLE * handle); 00175 RD_NTSTATUS(*close) (RD_NTHANDLE handle); 00176 RD_NTSTATUS(*read) (RD_NTHANDLE handle, uint8 * data, uint32 length, uint32 offset, 00177 uint32 * result); 00178 RD_NTSTATUS(*write) (RD_NTHANDLE handle, uint8 * data, uint32 length, uint32 offset, 00179 uint32 * result); 00180 RD_NTSTATUS(*device_control) (RD_NTHANDLE handle, uint32 request, STREAM in, STREAM out); 00181 } 00182 DEVICE_FNS; 00183 00184 00185 typedef struct rdpdr_device_info 00186 { 00187 uint32 device_type; 00188 RD_NTHANDLE handle; 00189 char name[8]; 00190 char *local_path; 00191 void *pdevice_data; 00192 } 00193 RDPDR_DEVICE; 00194 00195 typedef struct rdpdr_serial_device_info 00196 { 00197 int dtr; 00198 int rts; 00199 uint32 control, xonoff, onlimit, offlimit; 00200 uint32 baud_rate, 00201 queue_in_size, 00202 queue_out_size, 00203 wait_mask, 00204 read_interval_timeout, 00205 read_total_timeout_multiplier, 00206 read_total_timeout_constant, 00207 write_total_timeout_multiplier, write_total_timeout_constant, posix_wait_mask; 00208 uint8 stop_bits, parity, word_length; 00209 uint8 chars[6]; 00210 struct termios *ptermios, *pold_termios; 00211 int event_txempty, event_cts, event_dsr, event_rlsd, event_pending; 00212 } 00213 SERIAL_DEVICE; 00214 00215 typedef struct rdpdr_parallel_device_info 00216 { 00217 char *driver, *printer; 00218 uint32 queue_in_size, 00219 queue_out_size, 00220 wait_mask, 00221 read_interval_timeout, 00222 read_total_timeout_multiplier, 00223 read_total_timeout_constant, 00224 write_total_timeout_multiplier, 00225 write_total_timeout_constant, posix_wait_mask, bloblen; 00226 uint8 *blob; 00227 } 00228 PARALLEL_DEVICE; 00229 00230 typedef struct rdpdr_printer_info 00231 { 00232 FILE *printer_fp; 00233 char *driver, *printer; 00234 uint32 bloblen; 00235 uint8 *blob; 00236 BOOL default_printer; 00237 } 00238 PRINTER; 00239 00240 typedef struct notify_data 00241 { 00242 time_t modify_time; 00243 time_t status_time; 00244 time_t total_time; 00245 unsigned int num_entries; 00246 } 00247 NOTIFY; 00248 00249 #ifndef PATH_MAX 00250 #define PATH_MAX 256 00251 #endif 00252 00253 #ifndef _WIN32 00254 typedef struct fileinfo 00255 { 00256 uint32 device_id, flags_and_attributes, accessmask; 00257 char path[PATH_MAX]; 00258 DIR *pdir; 00259 struct dirent *pdirent; 00260 char pattern[PATH_MAX]; 00261 BOOL delete_on_close; 00262 NOTIFY notify; 00263 uint32 info_class; 00264 } 00265 FILEINFO; 00266 #endif 00267 00268 typedef BOOL(*str_handle_lines_t) (const char *line, void *data); Generated on Sun May 27 2012 04:17:11 for ReactOS by
1.7.6.1
|