checking in all the old panacean stuff
This commit is contained in:
57
puttysrc/UNIX/UXPRINT.C
Normal file
57
puttysrc/UNIX/UXPRINT.C
Normal file
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
* Printing interface for PuTTY.
|
||||
*/
|
||||
|
||||
#include <assert.h>
|
||||
#include <stdio.h>
|
||||
#include "putty.h"
|
||||
|
||||
struct printer_job_tag {
|
||||
FILE *fp;
|
||||
};
|
||||
|
||||
printer_job *printer_start_job(char *printer)
|
||||
{
|
||||
printer_job *ret = snew(printer_job);
|
||||
/*
|
||||
* On Unix, we treat the printer string as the name of a
|
||||
* command to pipe to - typically lpr, of course.
|
||||
*/
|
||||
ret->fp = popen(printer, "w");
|
||||
if (!ret->fp) {
|
||||
sfree(ret);
|
||||
ret = NULL;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
void printer_job_data(printer_job *pj, void *data, int len)
|
||||
{
|
||||
if (!pj)
|
||||
return;
|
||||
|
||||
fwrite(data, 1, len, pj->fp);
|
||||
}
|
||||
|
||||
void printer_finish_job(printer_job *pj)
|
||||
{
|
||||
if (!pj)
|
||||
return;
|
||||
|
||||
pclose(pj->fp);
|
||||
sfree(pj);
|
||||
}
|
||||
|
||||
/*
|
||||
* There's no sensible way to enumerate printers under Unix, since
|
||||
* practically any valid Unix command is a valid printer :-) So
|
||||
* these are useless stub functions, and uxcfg.c will disable the
|
||||
* drop-down list in the printer configurer.
|
||||
*/
|
||||
printer_enum *printer_start_enum(int *nprinters_ptr) {
|
||||
*nprinters_ptr = 0;
|
||||
return NULL;
|
||||
}
|
||||
char *printer_get_name(printer_enum *pe, int i) { return NULL;
|
||||
}
|
||||
void printer_finish_enum(printer_enum *pe) { }
|
||||
Reference in New Issue
Block a user