3 |
extern RDPDR_DEVICE g_rdpdr_device[]; |
extern RDPDR_DEVICE g_rdpdr_device[]; |
4 |
|
|
5 |
static PRINTER * |
static PRINTER * |
6 |
get_printer_data(HANDLE handle) |
get_printer_data(NTHANDLE handle) |
7 |
{ |
{ |
8 |
int index; |
int index; |
9 |
|
|
25 |
int count = 0; |
int count = 0; |
26 |
int already = 0; |
int already = 0; |
27 |
|
|
28 |
// we need to know how many printers we've already set up |
/* we need to know how many printers we've already set up |
29 |
// supplied from other -r flags than this one. |
supplied from other -r flags than this one. */ |
30 |
while (count < *id) |
while (count < *id) |
31 |
{ |
{ |
32 |
if (g_rdpdr_device[count].device_type == DEVICE_TYPE_PRINTER) |
if (g_rdpdr_device[count].device_type == DEVICE_TYPE_PRINTER) |
62 |
} |
} |
63 |
|
|
64 |
if (!pos2 || (*pos2 == (char) 0x00)) |
if (!pos2 || (*pos2 == (char) 0x00)) |
65 |
pprinter_data->driver = "HP LaserJet IIIP"; /* no printer driver supplied set default */ |
pprinter_data->driver = "HP Color LaserJet 8500 PS"; /* no printer driver supplied set default */ |
66 |
else |
else |
67 |
{ |
{ |
68 |
pprinter_data->driver = xmalloc(strlen(pos2) + 1); |
pprinter_data->driver = xmalloc(strlen(pos2) + 1); |
83 |
|
|
84 |
static NTSTATUS |
static NTSTATUS |
85 |
printer_create(uint32 device_id, uint32 access, uint32 share_mode, uint32 disposition, uint32 flags, |
printer_create(uint32 device_id, uint32 access, uint32 share_mode, uint32 disposition, uint32 flags, |
86 |
char *filename, HANDLE * handle) |
char *filename, NTHANDLE * handle) |
87 |
{ |
{ |
88 |
char cmd[256]; |
char cmd[256]; |
89 |
PRINTER *pprinter_data; |
PRINTER *pprinter_data; |
107 |
} |
} |
108 |
|
|
109 |
static NTSTATUS |
static NTSTATUS |
110 |
printer_close(HANDLE handle) |
printer_close(NTHANDLE handle) |
111 |
{ |
{ |
112 |
int i = get_device_index(handle); |
int i = get_device_index(handle); |
113 |
if (i >= 0) |
if (i >= 0) |
121 |
} |
} |
122 |
|
|
123 |
static NTSTATUS |
static NTSTATUS |
124 |
printer_write(HANDLE handle, uint8 * data, uint32 length, uint32 offset, uint32 * result) |
printer_write(NTHANDLE handle, uint8 * data, uint32 length, uint32 offset, uint32 * result) |
125 |
{ |
{ |
126 |
PRINTER *pprinter_data; |
PRINTER *pprinter_data; |
127 |
|
|
143 |
printer_write, |
printer_write, |
144 |
NULL /* device_control */ |
NULL /* device_control */ |
145 |
}; |
}; |
|
|
|