2003-07-01 11:31:25 +02:00
|
|
|
#include "rdesktop.h"
|
|
|
|
|
|
|
|
FILE *printer_fp;
|
|
|
|
|
|
|
|
static NTSTATUS
|
2003-07-09 11:18:20 +02:00
|
|
|
printer_create(HANDLE * handle)
|
2003-07-01 11:31:25 +02:00
|
|
|
{
|
|
|
|
printer_fp = popen("lpr", "w");
|
|
|
|
*handle = 0;
|
|
|
|
return STATUS_SUCCESS;
|
|
|
|
}
|
|
|
|
|
|
|
|
static NTSTATUS
|
|
|
|
printer_close(HANDLE handle)
|
|
|
|
{
|
|
|
|
pclose(printer_fp);
|
|
|
|
return STATUS_SUCCESS;
|
|
|
|
}
|
|
|
|
|
|
|
|
static NTSTATUS
|
2003-07-09 11:18:20 +02:00
|
|
|
printer_write(HANDLE handle, uint8 * data, uint32 length, uint32 * result)
|
2003-07-01 11:31:25 +02:00
|
|
|
{
|
|
|
|
*result = fwrite(data, 1, length, printer_fp);
|
|
|
|
return STATUS_SUCCESS;
|
|
|
|
}
|
|
|
|
|
2003-07-09 11:18:20 +02:00
|
|
|
DEVICE_FNS printer_fns = {
|
2003-07-01 11:31:25 +02:00
|
|
|
printer_create,
|
|
|
|
printer_close,
|
2003-07-09 11:18:20 +02:00
|
|
|
NULL, /* read */
|
2003-07-01 11:31:25 +02:00
|
|
|
printer_write,
|
2003-07-09 11:18:20 +02:00
|
|
|
NULL /* device_control */
|
2003-07-01 11:31:25 +02:00
|
|
|
};
|