/[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 828 - (hide annotations)
Sun Mar 6 21:11:18 2005 UTC (19 years, 2 months ago) by stargo
File MIME type: text/plain
File size: 4804 byte(s)
bump version to 1.4.0
change year in files
add missing docu for updated commandline-flags
update changelog

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     typedef struct _COLOURENTRY
41     {
42     uint8 red;
43     uint8 green;
44     uint8 blue;
45    
46 astrand 64 }
47     COLOURENTRY;
48 matty 10
49     typedef struct _COLOURMAP
50     {
51     uint16 ncolours;
52     COLOURENTRY *colours;
53    
54 astrand 64 }
55     COLOURMAP;
56 matty 10
57     typedef struct _BOUNDS
58     {
59 jsorg71 375 sint16 left;
60     sint16 top;
61     sint16 right;
62     sint16 bottom;
63 matty 10
64 astrand 64 }
65     BOUNDS;
66 matty 10
67     typedef struct _PEN
68     {
69     uint8 style;
70     uint8 width;
71 jsorg71 309 uint32 colour;
72 matty 10
73 astrand 64 }
74     PEN;
75 matty 10
76     typedef struct _BRUSH
77     {
78     uint8 xorigin;
79     uint8 yorigin;
80     uint8 style;
81     uint8 pattern[8];
82    
83 astrand 64 }
84     BRUSH;
85 matty 10
86     typedef struct _FONTGLYPH
87     {
88 matthewc 299 sint16 offset;
89     sint16 baseline;
90 matty 10 uint16 width;
91     uint16 height;
92     HBITMAP pixmap;
93    
94 astrand 64 }
95     FONTGLYPH;
96 matty 10
97     typedef struct _DATABLOB
98     {
99     void *data;
100     int size;
101    
102 astrand 64 }
103     DATABLOB;
104 astrand 66
105     typedef struct _key_translation
106     {
107     uint8 scancode;
108     uint16 modifiers;
109     }
110     key_translation;
111 forsberg 413
112 matthewc 432 typedef struct _VCHANNEL
113     {
114     uint16 mcs_id;
115     char name[8];
116     uint32 flags;
117     struct stream in;
118     void (*process) (STREAM);
119     }
120     VCHANNEL;
121 forsberg 413
122 jsorg71 725 typedef struct _BMPCACHEENTRY
123     {
124     HBITMAP bitmap;
125     uint32 usage;
126    
127     }
128     BMPCACHEENTRY;
129    
130     /* PSTCACHE */
131    
132     typedef uint8 BITMAP_ID[8];
133    
134     /* Header for an entry in the persistent bitmap cache file */
135     typedef struct _PSTCACHE_CELLHEADER
136     {
137     BITMAP_ID bitmap_id;
138     uint8 width, height;
139     uint16 length;
140     uint32 stamp;
141     }
142     CELLHEADER;
143    
144 stargo 492 #define MAX_CBSIZE 256
145    
146 matthewc 474 /* RDPSND */
147 astrand 499 typedef struct
148     {
149     uint16 wFormatTag;
150     uint16 nChannels;
151     uint32 nSamplesPerSec;
152     uint32 nAvgBytesPerSec;
153     uint16 nBlockAlign;
154     uint16 wBitsPerSample;
155     uint16 cbSize;
156     uint8 cb[MAX_CBSIZE];
157 matthewc 474 } WAVEFORMATEX;
158    
159 n-ki 683 typedef struct _RDPCOMP
160     {
161     uint32 roff;
162     uint8 hist[RDP_MPPC_DICT_SIZE];
163     struct stream ns;
164     }
165     RDPCOMP;
166    
167 matthewc 432 /* RDPDR */
168     typedef uint32 NTSTATUS;
169 jsorg71 776 typedef uint32 NTHANDLE;
170 matthewc 432
171     typedef struct _DEVICE_FNS
172 forsberg 413 {
173 astrand 580 NTSTATUS(*create) (uint32 device, uint32 desired_access, uint32 share_mode,
174     uint32 create_disposition, uint32 flags_and_attributes, char *filename,
175 jsorg71 776 NTHANDLE * handle);
176     NTSTATUS(*close) (NTHANDLE handle);
177     NTSTATUS(*read) (NTHANDLE handle, uint8 * data, uint32 length, uint32 offset,
178 astrand 580 uint32 * result);
179 jsorg71 776 NTSTATUS(*write) (NTHANDLE handle, uint8 * data, uint32 length, uint32 offset,
180 astrand 580 uint32 * result);
181 jsorg71 776 NTSTATUS(*device_control) (NTHANDLE handle, uint32 request, STREAM in, STREAM out);
182 forsberg 413 }
183 matthewc 432 DEVICE_FNS;
184 n-ki 569
185    
186     typedef struct rdpdr_device_info
187     {
188 astrand 580 uint32 device_type;
189 jsorg71 776 NTHANDLE handle;
190 astrand 580 char name[8];
191     char *local_path;
192     void *pdevice_data;
193 n-ki 569 }
194     RDPDR_DEVICE;
195    
196     typedef struct rdpdr_serial_device_info
197     {
198 astrand 580 int dtr;
199 n-ki 627 int rts;
200 stargo 795 uint32 control, xonoff, onlimit, offlimit;
201 astrand 580 uint32 baud_rate,
202     queue_in_size,
203     queue_out_size,
204     wait_mask,
205     read_interval_timeout,
206     read_total_timeout_multiplier,
207     read_total_timeout_constant,
208     write_total_timeout_multiplier, write_total_timeout_constant, posix_wait_mask;
209     uint8 stop_bits, parity, word_length;
210 stargo 795 uint8 chars[6];
211 astrand 580 struct termios *ptermios, *pold_termios;
212 stargo 795 int event_txempty, event_cts, event_dsr, event_rlsd, event_pending;
213 n-ki 569 }
214     SERIAL_DEVICE;
215    
216     typedef struct rdpdr_parallel_device_info
217     {
218 astrand 580 char *driver, *printer;
219     uint32 queue_in_size,
220     queue_out_size,
221     wait_mask,
222     read_interval_timeout,
223     read_total_timeout_multiplier,
224     read_total_timeout_constant,
225     write_total_timeout_multiplier,
226     write_total_timeout_constant, posix_wait_mask, bloblen;
227     uint8 *blob;
228 n-ki 569 }
229     PARALLEL_DEVICE;
230    
231     typedef struct rdpdr_printer_info
232     {
233 astrand 580 FILE *printer_fp;
234     char *driver, *printer;
235     uint32 bloblen;
236     uint8 *blob;
237     BOOL default_printer;
238 n-ki 569 }
239     PRINTER;
240 n-ki 627
241 stargo 795 typedef struct notify_data
242     {
243     time_t modify_time;
244     time_t status_time;
245     time_t total_time;
246     unsigned int num_entries;
247     }
248     NOTIFY;
249    
250 n-ki 627 typedef struct fileinfo
251     {
252 stargo 795 uint32 device_id, flags_and_attributes, accessmask;
253 n-ki 627 char path[256];
254     DIR *pdir;
255     struct dirent *pdirent;
256     char pattern[64];
257     BOOL delete_on_close;
258 stargo 795 NOTIFY notify;
259     uint32 info_class;
260 n-ki 627 }
261     FILEINFO;

  ViewVC Help
Powered by ViewVC 1.1.26