/[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 830 by jdmeijer, Tue Mar 8 00:23:02 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;
# Line 53  COLOURMAP; Line 56  COLOURMAP;
56    
57  typedef struct _BOUNDS  typedef struct _BOUNDS
58  {  {
59          uint16 left;          sint16 left;
60          uint16 top;          sint16 top;
61          uint16 right;          sint16 right;
62          uint16 bottom;          sint16 bottom;
63    
64  }  }
65  BOUNDS;  BOUNDS;
# Line 65  typedef struct _PEN Line 68  typedef struct _PEN
68  {  {
69          uint8 style;          uint8 style;
70          uint8 width;          uint8 width;
71          uint8 colour;          uint32 colour;
72    
73  }  }
74  PEN;  PEN;
# Line 82  BRUSH; Line 85  BRUSH;
85    
86  typedef struct _FONTGLYPH  typedef struct _FONTGLYPH
87  {  {
88          uint16 offset;          sint16 offset;
89          uint16 baseline;          sint16 baseline;
90          uint16 width;          uint16 width;
91          uint16 height;          uint16 height;
92          HBITMAP pixmap;          HBITMAP pixmap;
# Line 105  typedef struct _key_translation Line 108  typedef struct _key_translation
108          uint16 modifiers;          uint16 modifiers;
109  }  }
110  key_translation;  key_translation;
111    
112    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    
122    /* PSTCACHE */
123    typedef uint8 HASH_KEY[8];
124    
125    /* Header for an entry in the persistent bitmap cache file */
126    typedef struct _PSTCACHE_CELLHEADER
127    {
128            HASH_KEY key;
129            uint8 width, height;
130            uint16 length;
131            uint32 stamp;
132    }
133    CELLHEADER;
134    
135    #define MAX_CBSIZE 256
136    
137    /* RDPSND */
138    typedef struct
139    {
140            uint16 wFormatTag;
141            uint16 nChannels;
142            uint32 nSamplesPerSec;
143            uint32 nAvgBytesPerSec;
144            uint16 nBlockAlign;
145            uint16 wBitsPerSample;
146            uint16 cbSize;
147            uint8 cb[MAX_CBSIZE];
148    } WAVEFORMATEX;
149    
150    typedef struct _RDPCOMP
151    {
152            uint32 roff;
153            uint8 hist[RDP_MPPC_DICT_SIZE];
154            struct stream ns;
155    }
156    RDPCOMP;
157    
158    /* RDPDR */
159    typedef uint32 NTSTATUS;
160    typedef uint32 NTHANDLE;
161    
162    typedef struct _DEVICE_FNS
163    {
164            NTSTATUS(*create) (uint32 device, uint32 desired_access, uint32 share_mode,
165                               uint32 create_disposition, uint32 flags_and_attributes, char *filename,
166                               NTHANDLE * handle);
167            NTSTATUS(*close) (NTHANDLE handle);
168            NTSTATUS(*read) (NTHANDLE handle, uint8 * data, uint32 length, uint32 offset,
169                             uint32 * result);
170            NTSTATUS(*write) (NTHANDLE handle, uint8 * data, uint32 length, uint32 offset,
171                              uint32 * result);
172            NTSTATUS(*device_control) (NTHANDLE handle, uint32 request, STREAM in, STREAM out);
173    }
174    DEVICE_FNS;
175    
176    
177    typedef struct rdpdr_device_info
178    {
179            uint32 device_type;
180            NTHANDLE handle;
181            char name[8];
182            char *local_path;
183            void *pdevice_data;
184    }
185    RDPDR_DEVICE;
186    
187    typedef struct rdpdr_serial_device_info
188    {
189            int dtr;
190            int rts;
191            uint32 control, xonoff, onlimit, offlimit;
192            uint32 baud_rate,
193                    queue_in_size,
194                    queue_out_size,
195                    wait_mask,
196                    read_interval_timeout,
197                    read_total_timeout_multiplier,
198                    read_total_timeout_constant,
199                    write_total_timeout_multiplier, write_total_timeout_constant, posix_wait_mask;
200            uint8 stop_bits, parity, word_length;
201            uint8 chars[6];
202            struct termios *ptermios, *pold_termios;
203            int event_txempty, event_cts, event_dsr, event_rlsd, event_pending;
204    }
205    SERIAL_DEVICE;
206    
207    typedef struct rdpdr_parallel_device_info
208    {
209            char *driver, *printer;
210            uint32 queue_in_size,
211                    queue_out_size,
212                    wait_mask,
213                    read_interval_timeout,
214                    read_total_timeout_multiplier,
215                    read_total_timeout_constant,
216                    write_total_timeout_multiplier,
217                    write_total_timeout_constant, posix_wait_mask, bloblen;
218            uint8 *blob;
219    }
220    PARALLEL_DEVICE;
221    
222    typedef struct rdpdr_printer_info
223    {
224            FILE *printer_fp;
225            char *driver, *printer;
226            uint32 bloblen;
227            uint8 *blob;
228            BOOL default_printer;
229    }
230    PRINTER;
231    
232    typedef struct notify_data
233    {
234            time_t modify_time;
235            time_t status_time;
236            time_t total_time;
237            unsigned int num_entries;
238    }
239    NOTIFY;
240    
241    typedef struct fileinfo
242    {
243            uint32 device_id, flags_and_attributes, accessmask;
244            char path[256];
245            DIR *pdir;
246            struct dirent *pdirent;
247            char pattern[64];
248            BOOL delete_on_close;
249            NOTIFY notify;
250            uint32 info_class;
251    }
252    FILEINFO;

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

  ViewVC Help
Powered by ViewVC 1.1.26