Open System Services Programmer's Guide
, /* stick with default location */
, /* form name for the job */
, /* report name for the job */
, /* number of copies */
, /* page size (in lines) */
047, /* flag - attributes of job */
/* 040 - hold after bit on */
/* 007 - job priority = 7 */
, /* owner of job */
, /* maximum number of lines allowed for job */
, /* maximum number of pages allowed for job */
, /* filename of spooler collector */
, /* alternative parameter to collector filenum */
l3buffer /* 32 bit pointer to l3 buffer */
);
if (retcode != 0) {
fprintf(stderr, "SPOOLSTART failed, retcode = %d\n", retcode);
exit(1);
}
/* Position the paper to top of form. */
retcode = SPOOLCONTROL( /* send control code to spooler */
, /* 16-bit version of level-3 buffer */
1, /* forms control mode */
0, /* top of form control code */
&size, /* number of bytes used in level-3 buffer*/
l3buffer /* 32-bit version of level-3 buffer */
);
if (retcode != 0) {
fprintf(stderr,"SPOOLCONTROL failed on printer: %s\n", printer);
fprintf(stderr,"retcode = %d\n", retcode);
exit(1);
}
/* Read input file, one line at a time, and send to spooler. */
while(fgets(buffer, MAXLINE, infile)) { /* get line from input file */
retcode =
SPOOLWRITE(, /* 16-bit version of level-3 buffer */
#ifdef _TNS_E_TARGET || _TNS_R_TARGET
(short *)buffer,
#else
(short _near *)buffer, /* print line */
#endif
(short)strlen(buffer), /* size of print line */
&size, /* number of bytes used in level-3 buffer */
l3buffer /* data is compressed and blocked
into the level-3 buffer */
);
/* Check for successful spooler write operation. */
if (retcode != 0) {
fprintf(stderr, "SPOOLWRITE failed: %s\n", printer);
fprintf(stderr, "retcode = %d\n", retcode);
exit(1);
}
}
/* Position the paper to top of form again. */
retcode = SPOOLCONTROL( /* send control code to spooler */
, /* 16-bit level-3 buffer */
1, /* forms control mode */
0, /* top of form control code */
&size, /* number of bytes used in level-3 buffer*/
l3buffer /* 32-bit level-3 buffer */
);
if (retcode != 0) {
230 Managing I/O