/[rdesktop]/sourceforge.net/trunk/rdesktop/types.h
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /sourceforge.net/trunk/rdesktop/types.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 831 - (show annotations)
Tue Mar 8 00:43:10 2005 UTC (19 years, 3 months ago) by jdmeijer
File MIME type: text/plain
File size: 4760 byte(s)
Add support for ellipse and polygon orders

1 /*
2 rdesktop: A Remote Desktop Protocol client.
3 Common data types
4 Copyright (C) Matthew Chapman 1999-2005
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 */
20
21 typedef int BOOL;
22
23 #ifndef True
24 #define True (1)
25 #define False (0)
26 #endif
27
28 typedef unsigned char uint8;
29 typedef signed char sint8;
30 typedef unsigned short uint16;
31 typedef signed short sint16;
32 typedef unsigned int uint32;
33 typedef signed int sint32;
34
35 typedef void *HBITMAP;
36 typedef void *HGLYPH;
37 typedef void *HCOLOURMAP;
38 typedef void *HCURSOR;
39
40 typedef struct _POINT
41 {
42 sint16 x, y;
43 }
44 POINT;
45
46 typedef struct _COLOURENTRY
47 {
48 uint8 red;
49 uint8 green;
50 uint8 blue;
51
52 }
53 COLOURENTRY;
54
55 typedef struct _COLOURMAP
56 {
57 uint16 ncolours;
58 COLOURENTRY *colours;
59
60 }
61 COLOURMAP;
62
63 typedef struct _BOUNDS
64 {
65 sint16 left;
66 sint16 top;
67 sint16 right;
68 sint16 bottom;
69
70 }
71 BOUNDS;
72
73 typedef struct _PEN
74 {
75 uint8 style;
76 uint8 width;
77 uint32 colour;
78
79 }
80 PEN;
81
82 typedef struct _BRUSH
83 {
84 uint8 xorigin;
85 uint8 yorigin;
86 uint8 style;
87 uint8 pattern[8];
88
89 }
90 BRUSH;
91
92 typedef struct _FONTGLYPH
93 {
94 sint16 offset;
95 sint16 baseline;
96 uint16 width;
97 uint16 height;
98 HBITMAP pixmap;
99
100 }
101 FONTGLYPH;
102
103 typedef struct _DATABLOB
104 {
105 void *data;
106 int size;
107
108 }
109 DATABLOB;
110
111 typedef struct _key_translation
112 {
113 uint8 scancode;
114 uint16 modifiers;
115 }
116 key_translation;
117
118 typedef struct _VCHANNEL
119 {
120 uint16 mcs_id;
121 char name[8];
122 uint32 flags;
123 struct stream in;
124 void (*process) (STREAM);
125 }
126 VCHANNEL;
127
128 /* PSTCACHE */
129 typedef uint8 HASH_KEY[8];
130
131 /* Header for an entry in the persistent bitmap cache file */
132 typedef struct _PSTCACHE_CELLHEADER
133 {
134 HASH_KEY key;
135 uint8 width, height;
136 uint16 length;
137 uint32 stamp;
138 }
139 CELLHEADER;
140
141 #define MAX_CBSIZE 256
142
143 /* RDPSND */
144 typedef struct
145 {
146 uint16 wFormatTag;
147 uint16 nChannels;
148 uint32 nSamplesPerSec;
149 uint32 nAvgBytesPerSec;
150 uint16 nBlockAlign;
151 uint16 wBitsPerSample;
152 uint16 cbSize;
153 uint8 cb[MAX_CBSIZE];
154 } WAVEFORMATEX;
155
156 typedef struct _RDPCOMP
157 {
158 uint32 roff;
159 uint8 hist[RDP_MPPC_DICT_SIZE];
160 struct stream ns;
161 }
162 RDPCOMP;
163
164 /* RDPDR */
165 typedef uint32 NTSTATUS;
166 typedef uint32 NTHANDLE;
167
168 typedef struct _DEVICE_FNS
169 {
170 NTSTATUS(*create) (uint32 device, uint32 desired_access, uint32 share_mode,
171 uint32 create_disposition, uint32 flags_and_attributes, char *filename,
172 NTHANDLE * handle);
173 NTSTATUS(*close) (NTHANDLE handle);
174 NTSTATUS(*read) (NTHANDLE handle, uint8 * data, uint32 length, uint32 offset,
175 uint32 * result);
176 NTSTATUS(*write) (NTHANDLE handle, uint8 * data, uint32 length, uint32 offset,
177 uint32 * result);
178 NTSTATUS(*device_control) (NTHANDLE handle, uint32 request, STREAM in, STREAM out);
179 }
180 DEVICE_FNS;
181
182
183 typedef struct rdpdr_device_info
184 {
185 uint32 device_type;
186 NTHANDLE handle;
187 char name[8];
188 char *local_path;
189 void *pdevice_data;
190 }
191 RDPDR_DEVICE;
192
193 typedef struct rdpdr_serial_device_info
194 {
195 int dtr;
196 int rts;
197 uint32 control, xonoff, onlimit, offlimit;
198 uint32 baud_rate,
199 queue_in_size,
200 queue_out_size,
201 wait_mask,
202 read_interval_timeout,
203 read_total_timeout_multiplier,
204 read_total_timeout_constant,
205 write_total_timeout_multiplier, write_total_timeout_constant, posix_wait_mask;
206 uint8 stop_bits, parity, word_length;
207 uint8 chars[6];
208 struct termios *ptermios, *pold_termios;
209 int event_txempty, event_cts, event_dsr, event_rlsd, event_pending;
210 }
211 SERIAL_DEVICE;
212
213 typedef struct rdpdr_parallel_device_info
214 {
215 char *driver, *printer;
216 uint32 queue_in_size,
217 queue_out_size,
218 wait_mask,
219 read_interval_timeout,
220 read_total_timeout_multiplier,
221 read_total_timeout_constant,
222 write_total_timeout_multiplier,
223 write_total_timeout_constant, posix_wait_mask, bloblen;
224 uint8 *blob;
225 }
226 PARALLEL_DEVICE;
227
228 typedef struct rdpdr_printer_info
229 {
230 FILE *printer_fp;
231 char *driver, *printer;
232 uint32 bloblen;
233 uint8 *blob;
234 BOOL default_printer;
235 }
236 PRINTER;
237
238 typedef struct notify_data
239 {
240 time_t modify_time;
241 time_t status_time;
242 time_t total_time;
243 unsigned int num_entries;
244 }
245 NOTIFY;
246
247 typedef struct fileinfo
248 {
249 uint32 device_id, flags_and_attributes, accessmask;
250 char path[256];
251 DIR *pdir;
252 struct dirent *pdirent;
253 char pattern[64];
254 BOOL delete_on_close;
255 NOTIFY notify;
256 uint32 info_class;
257 }
258 FILEINFO;

  ViewVC Help
Powered by ViewVC 1.1.26