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










