/[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 828 by stargo, Sun Mar 6 21:11:18 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    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    #define MAX_CBSIZE 256
145    
146    /* RDPSND */
147    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    } WAVEFORMATEX;
158    
159    typedef struct _RDPCOMP
160    {
161            uint32 roff;
162            uint8 hist[RDP_MPPC_DICT_SIZE];
163            struct stream ns;
164    }
165    RDPCOMP;
166    
167    /* RDPDR */
168    typedef uint32 NTSTATUS;
169    typedef uint32 NTHANDLE;
170    
171    typedef struct _DEVICE_FNS
172    {
173            NTSTATUS(*create) (uint32 device, uint32 desired_access, uint32 share_mode,
174                               uint32 create_disposition, uint32 flags_and_attributes, char *filename,
175                               NTHANDLE * handle);
176            NTSTATUS(*close) (NTHANDLE handle);
177            NTSTATUS(*read) (NTHANDLE handle, uint8 * data, uint32 length, uint32 offset,
178                             uint32 * result);
179            NTSTATUS(*write) (NTHANDLE handle, uint8 * data, uint32 length, uint32 offset,
180                              uint32 * result);
181            NTSTATUS(*device_control) (NTHANDLE handle, uint32 request, STREAM in, STREAM out);
182    }
183    DEVICE_FNS;
184    
185    
186    typedef struct rdpdr_device_info
187    {
188            uint32 device_type;
189            NTHANDLE handle;
190            char name[8];
191            char *local_path;
192            void *pdevice_data;
193    }
194    RDPDR_DEVICE;
195    
196    typedef struct rdpdr_serial_device_info
197    {
198            int dtr;
199            int rts;
200            uint32 control, xonoff, onlimit, offlimit;
201            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            uint8 chars[6];
211            struct termios *ptermios, *pold_termios;
212            int event_txempty, event_cts, event_dsr, event_rlsd, event_pending;
213    }
214    SERIAL_DEVICE;
215    
216    typedef struct rdpdr_parallel_device_info
217    {
218            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    }
229    PARALLEL_DEVICE;
230    
231    typedef struct rdpdr_printer_info
232    {
233            FILE *printer_fp;
234            char *driver, *printer;
235            uint32 bloblen;
236            uint8 *blob;
237            BOOL default_printer;
238    }
239    PRINTER;
240    
241    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    typedef struct fileinfo
251    {
252            uint32 device_id, flags_and_attributes, accessmask;
253            char path[256];
254            DIR *pdir;
255            struct dirent *pdirent;
256            char pattern[64];
257            BOOL delete_on_close;
258            NOTIFY notify;
259            uint32 info_class;
260    }
261    FILEINFO;

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

  ViewVC Help
Powered by ViewVC 1.1.26