140 |
|
|
141 |
typedef struct _DEVICE_FNS |
typedef struct _DEVICE_FNS |
142 |
{ |
{ |
143 |
NTSTATUS (*create)(uint32 device, uint32 desired_access, uint32 share_mode, uint32 create_disposition, uint32 flags_and_attributes, char *filename, HANDLE *handle); |
NTSTATUS(*create) (uint32 device, uint32 desired_access, uint32 share_mode, |
144 |
NTSTATUS (*close)(HANDLE handle); |
uint32 create_disposition, uint32 flags_and_attributes, char *filename, |
145 |
NTSTATUS (*read)(HANDLE handle, uint8 *data, uint32 length, uint32 offset, uint32 *result); |
HANDLE * handle); |
146 |
NTSTATUS (*write)(HANDLE handle, uint8 *data, uint32 length, uint32 offset, uint32 *result); |
NTSTATUS(*close) (HANDLE handle); |
147 |
NTSTATUS (*device_control)(HANDLE handle, uint32 request, STREAM in, STREAM out); |
NTSTATUS(*read) (HANDLE handle, uint8 * data, uint32 length, uint32 offset, |
148 |
|
uint32 * result); |
149 |
|
NTSTATUS(*write) (HANDLE handle, uint8 * data, uint32 length, uint32 offset, |
150 |
|
uint32 * result); |
151 |
|
NTSTATUS(*device_control) (HANDLE handle, uint32 request, STREAM in, STREAM out); |
152 |
} |
} |
153 |
DEVICE_FNS; |
DEVICE_FNS; |
154 |
|
|
155 |
|
|
156 |
typedef struct rdpdr_device_info |
typedef struct rdpdr_device_info |
157 |
{ |
{ |
158 |
uint32 device_type; |
uint32 device_type; |
159 |
HANDLE handle; |
HANDLE handle; |
160 |
char name[8]; |
char name[8]; |
161 |
char *local_path; |
char *local_path; |
162 |
void *pdevice_data; |
void *pdevice_data; |
163 |
} |
} |
164 |
RDPDR_DEVICE; |
RDPDR_DEVICE; |
165 |
|
|
166 |
typedef struct rdpdr_serial_device_info |
typedef struct rdpdr_serial_device_info |
167 |
{ |
{ |
168 |
int dtr; |
int dtr; |
169 |
uint32 baud_rate, |
uint32 baud_rate, |
170 |
queue_in_size, |
queue_in_size, |
171 |
queue_out_size, |
queue_out_size, |
172 |
wait_mask, |
wait_mask, |
173 |
read_interval_timeout, |
read_interval_timeout, |
174 |
read_total_timeout_multiplier, |
read_total_timeout_multiplier, |
175 |
read_total_timeout_constant, |
read_total_timeout_constant, |
176 |
write_total_timeout_multiplier, |
write_total_timeout_multiplier, write_total_timeout_constant, posix_wait_mask; |
177 |
write_total_timeout_constant, |
uint8 stop_bits, parity, word_length; |
178 |
posix_wait_mask; |
struct termios *ptermios, *pold_termios; |
|
uint8 stop_bits, |
|
|
parity, |
|
|
word_length; |
|
|
struct termios *ptermios, |
|
|
*pold_termios; |
|
179 |
} |
} |
180 |
SERIAL_DEVICE; |
SERIAL_DEVICE; |
181 |
|
|
182 |
typedef struct rdpdr_parallel_device_info |
typedef struct rdpdr_parallel_device_info |
183 |
{ |
{ |
184 |
char *driver, |
char *driver, *printer; |
185 |
*printer; |
uint32 queue_in_size, |
186 |
uint32 queue_in_size, |
queue_out_size, |
187 |
queue_out_size, |
wait_mask, |
188 |
wait_mask, |
read_interval_timeout, |
189 |
read_interval_timeout, |
read_total_timeout_multiplier, |
190 |
read_total_timeout_multiplier, |
read_total_timeout_constant, |
191 |
read_total_timeout_constant, |
write_total_timeout_multiplier, |
192 |
write_total_timeout_multiplier, |
write_total_timeout_constant, posix_wait_mask, bloblen; |
193 |
write_total_timeout_constant, |
uint8 *blob; |
|
posix_wait_mask, |
|
|
bloblen; |
|
|
uint8 *blob; |
|
194 |
} |
} |
195 |
PARALLEL_DEVICE; |
PARALLEL_DEVICE; |
196 |
|
|
197 |
typedef struct rdpdr_printer_info |
typedef struct rdpdr_printer_info |
198 |
{ |
{ |
199 |
FILE *printer_fp; |
FILE *printer_fp; |
200 |
char *driver, |
char *driver, *printer; |
201 |
*printer; |
uint32 bloblen; |
202 |
uint32 bloblen; |
uint8 *blob; |
203 |
uint8 *blob; |
BOOL default_printer; |
|
BOOL default_printer; |
|
204 |
} |
} |
205 |
PRINTER; |
PRINTER; |
|
|
|
|
|
|