/[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

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

Parent Directory Parent Directory | Revision Log Revision Log


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

1 matty 10 /*
2     rdesktop: A Remote Desktop Protocol client.
3     Common data types
4 stargo 828 Copyright (C) Matthew Chapman 1999-2005
5 matty 10
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 n-ki 569
11 matty 10 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 matthewc 299 typedef signed char sint8;
30 matty 10 typedef unsigned short uint16;
31 matthewc 299 typedef signed short sint16;
32 matty 10 typedef unsigned int uint32;
33 matthewc 299 typedef signed int sint32;
34 matty 10
35     typedef void *HBITMAP;
36     typedef void *HGLYPH;
37     typedef void *HCOLOURMAP;
38 matty 28 typedef void *HCURSOR;
39 matty 10
40 jdmeijer 831 typedef struct _POINT
41     {
42     sint16 x, y;
43     }
44     POINT;
45    
46 matty 10 typedef struct _COLOURENTRY
47     {
48     uint8 red;
49     uint8 green;
50     uint8 blue;
51    
52 astrand 64 }
53     COLOURENTRY;
54 matty 10
55     typedef struct _COLOURMAP
56     {
57     uint16 ncolours;
58     COLOURENTRY *colours;
59    
60 astrand 64 }
61     COLOURMAP;
62 matty 10
63     typedef struct _BOUNDS
64     {
65 jsorg71 375 sint16 left;
66     sint16 top;
67     sint16 right;
68     sint16 bottom;
69 matty 10
70 astrand 64 }
71     BOUNDS;
72 matty 10
73     typedef struct _PEN
74     {
75     uint8 style;
76     uint8 width;
77 jsorg71 309 uint32 colour;
78 matty 10
79 astrand 64 }
80     PEN;
81 matty 10
82     typedef struct _BRUSH
83     {
84     uint8 xorigin;
85     uint8 yorigin;
86     uint8 style;
87     uint8 pattern[8];
88    
89 astrand 64 }
90     BRUSH;
91 matty 10
92     typedef struct _FONTGLYPH
93     {
94 matthewc 299 sint16 offset;
95     sint16 baseline;
96 matty 10 uint16 width;
97     uint16 height;
98     HBITMAP pixmap;
99    
100 astrand 64 }
101     FONTGLYPH;
102 matty 10
103     typedef struct _DATABLOB
104     {
105     void *data;
106     int size;
107    
108 astrand 64 }
109     DATABLOB;
110 astrand 66
111     typedef struct _key_translation
112     {
113     uint8 scancode;
114     uint16 modifiers;
115     }
116     key_translation;
117 forsberg 413
118 matthewc 432 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 forsberg 413
128 jsorg71 725 /* PSTCACHE */
129 jdmeijer 830 typedef uint8 HASH_KEY[8];
130 jsorg71 725
131     /* Header for an entry in the persistent bitmap cache file */
132     typedef struct _PSTCACHE_CELLHEADER
133     {
134 jdmeijer 830 HASH_KEY key;
135 jsorg71 725 uint8 width, height;
136     uint16 length;
137     uint32 stamp;
138     }
139     CELLHEADER;
140    
141 stargo 492 #define MAX_CBSIZE 256
142    
143 matthewc 474 /* RDPSND */
144 astrand 499 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 matthewc 474 } WAVEFORMATEX;
155    
156 n-ki 683 typedef struct _RDPCOMP
157     {
158     uint32 roff;
159     uint8 hist[RDP_MPPC_DICT_SIZE];
160     struct stream ns;
161     }
162     RDPCOMP;
163    
164 matthewc 432 /* RDPDR */
165     typedef uint32 NTSTATUS;
166 jsorg71 776 typedef uint32 NTHANDLE;
167 matthewc 432
168     typedef struct _DEVICE_FNS
169 forsberg 413 {
170 astrand 580 NTSTATUS(*create) (uint32 device, uint32 desired_access, uint32 share_mode,
171     uint32 create_disposition, uint32 flags_and_attributes, char *filename,
172 jsorg71 776 NTHANDLE * handle);
173     NTSTATUS(*close) (NTHANDLE handle);
174     NTSTATUS(*read) (NTHANDLE handle, uint8 * data, uint32 length, uint32 offset,
175 astrand 580 uint32 * result);
176 jsorg71 776 NTSTATUS(*write) (NTHANDLE handle, uint8 * data, uint32 length, uint32 offset,
177 astrand 580 uint32 * result);
178 jsorg71 776 NTSTATUS(*device_control) (NTHANDLE handle, uint32 request, STREAM in, STREAM out);
179 forsberg 413 }
180 matthewc 432 DEVICE_FNS;
181 n-ki 569
182    
183     typedef struct rdpdr_device_info
184     {
185 astrand 580 uint32 device_type;
186 jsorg71 776 NTHANDLE handle;
187 astrand 580 char name[8];
188     char *local_path;
189     void *pdevice_data;
190 n-ki 569 }
191     RDPDR_DEVICE;
192    
193     typedef struct rdpdr_serial_device_info
194     {
195 astrand 580 int dtr;
196 n-ki 627 int rts;
197 stargo 795 uint32 control, xonoff, onlimit, offlimit;
198 astrand 580 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 stargo 795 uint8 chars[6];
208 astrand 580 struct termios *ptermios, *pold_termios;
209 stargo 795 int event_txempty, event_cts, event_dsr, event_rlsd, event_pending;
210 n-ki 569 }
211     SERIAL_DEVICE;
212    
213     typedef struct rdpdr_parallel_device_info
214     {
215 astrand 580 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 n-ki 569 }
226     PARALLEL_DEVICE;
227    
228     typedef struct rdpdr_printer_info
229     {
230 astrand 580 FILE *printer_fp;
231     char *driver, *printer;
232     uint32 bloblen;
233     uint8 *blob;
234     BOOL default_printer;
235 n-ki 569 }
236     PRINTER;
237 n-ki 627
238 stargo 795 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 n-ki 627 typedef struct fileinfo
248     {
249 stargo 795 uint32 device_id, flags_and_attributes, accessmask;
250 n-ki 627 char path[256];
251     DIR *pdir;
252     struct dirent *pdirent;
253     char pattern[64];
254     BOOL delete_on_close;
255 stargo 795 NOTIFY notify;
256     uint32 info_class;
257 n-ki 627 }
258     FILEINFO;

  ViewVC Help
Powered by ViewVC 1.1.26