V10/cmd/spool/lpr.h
#include <stdio.h>
/*
* lpr -- on line print to line printer
*/
#ifdef VPR
/* if VPR defined, uses versatek printer via /usr/spool/vpd. */
#endif
#define DPR 0
#define FGET 0
#define FSEND 0
#define GCAT 0
#define LPR 1
#ifdef VPR
#define NAME "vpr"
#endif
#define BF 'F'
#define MAXCOPY 5000000L
#define FIRSTCHAR 'A'-1
#ifdef VPR
char cfname[] = "/usr/spool/vpd/cf@XXXXX";
char dfname[] = "/usr/spool/vpd/df@XXXXX";
char lfname[] = "/usr/spool/vpd/lf@XXXXX";
char tfname[] = "/usr/spool/vpd/tf@XXXXX";
char zfname[] = "/usr/spool/vpd/zf@XXXXX";
#endif
#include "spool.c"
main(agc, agv)
int agc;
char *agv[];
{
argc = agc; argv = agv;
pidfn();
while (argc>1 && (arg = argv[1])[0]=='-') {
if(!comopt(arg[1]))
switch (arg[1]) {
default:
fprintf(stderr, "%s: Unrecognized option: %s\n", NAME, arg);
break;
}
argc--;
argv++;
}
if(debug)
tff = stdout;
else
if((tff = nfile(tfname)) == NULL){
fprintf(stderr, "%s: Can't create %s.\n", NAME, tfname);
out();
}
if(ident())
out();
filargs(); /*process file arguments.*/
if(debug)
out();
fclose(tff);
if(nact) {
dfname[INCHAR]++;
if(link(tfname, dfname) < 0){
fprintf(stderr, "%s: Cannot rename %s\n", NAME, tfname);
out();
}
unlink(tfname);
#ifdef VPR
execl("/usr/lib/vpd", "vpd", 0);
execl("/etc/vpd", "vpd", 0);
#else
execl(DAEMNAME, "lpd", 0);
#endif
fprintf(stderr, "%s: Can't find daemon.\nFiles left in spooling dir.\n", NAME);
exit(1);
}
out();
}
archive()
{
}
nuact()
{
}