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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 66 by astrand, Thu Jul 18 18:28:12 2002 UTC revision 831 by jdmeijer, Tue Mar 8 00:43:10 2005 UTC
# Line 1  Line 1 
1  /*  /*
2     rdesktop: A Remote Desktop Protocol client.     rdesktop: A Remote Desktop Protocol client.
3     Common data types     Common data types
4     Copyright (C) Matthew Chapman 1999-2000     Copyright (C) Matthew Chapman 1999-2005
5        
6     This program is free software; you can redistribute it and/or modify     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     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     the Free Software Foundation; either version 2 of the License, or
9     (at your option) any later version.     (at your option) any later version.
10      
11     This program is distributed in the hope that it will be useful,     This program is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# Line 26  typedef int BOOL; Line 26  typedef int BOOL;
26  #endif  #endif
27    
28  typedef unsigned char uint8;  typedef unsigned char uint8;
29    typedef signed char sint8;
30  typedef unsigned short uint16;  typedef unsigned short uint16;
31    typedef signed short sint16;
32  typedef unsigned int uint32;  typedef unsigned int uint32;
33    typedef signed int sint32;
34    
35  typedef void *HBITMAP;  typedef void *HBITMAP;
36  typedef void *HGLYPH;  typedef void *HGLYPH;
37  typedef void *HCOLOURMAP;  typedef void *HCOLOURMAP;
38  typedef void *HCURSOR;  typedef void *HCURSOR;
39    
40    typedef struct _POINT
41    {
42            sint16 x, y;
43    }
44    POINT;
45    
46  typedef struct _COLOURENTRY  typedef struct _COLOURENTRY
47  {  {
48          uint8 red;          uint8 red;
# Line 53  COLOURMAP; Line 62  COLOURMAP;
62    
63  typedef struct _BOUNDS  typedef struct _BOUNDS
64  {  {
65          uint16 left;          sint16 left;
66          uint16 top;          sint16 top;
67          uint16 right;          sint16 right;
68          uint16 bottom;          sint16 bottom;
69    
70  }  }
71  BOUNDS;  BOUNDS;
# Line 65  typedef struct _PEN Line 74  typedef struct _PEN
74  {  {
75          uint8 style;          uint8 style;
76          uint8 width;          uint8 width;
77          uint8 colour;          uint32 colour;
78    
79  }  }
80  PEN;  PEN;
# Line 82  BRUSH; Line 91  BRUSH;
91    
92  typedef struct _FONTGLYPH  typedef struct _FONTGLYPH
93  {  {
94          uint16 offset;          sint16 offset;
95          uint16 baseline;          sint16 baseline;
96          uint16 width;          uint16 width;
97          uint16 height;          uint16 height;
98          HBITMAP pixmap;          HBITMAP pixmap;
# Line 105  typedef struct _key_translation Line 114  typedef struct _key_translation
114          uint16 modifiers;          uint16 modifiers;
115  }  }
116  key_translation;  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;

Legend:
Removed from v.66  
changed lines
  Added in v.831

  ViewVC Help
Powered by ViewVC 1.1.26