1/*************************************************************************** 2 * LPRng - An Extended Print Spooler System 3 * 4 * Copyright 1988-2003, Patrick Powell, San Diego, CA 5 * papowell@lprng.com 6 * See LICENSE for conditions of use. 7 * $Id: lpr.h,v 1.1.1.1 2008/10/15 03:28:27 james26_jang Exp $ 8 ***************************************************************************/ 9 10 11 12#ifndef _LPR_1_ 13#define _LPR_1_ 14 15EXTERN char *Accntname_JOB; /* Accounting name: PLP 'R' control file option */ 16EXTERN int Auth_JOB; /* Use authentication */ 17EXTERN int Binary_JOB; /* Binary format: 'l' Format */ 18EXTERN char *Bnrname_JOB; /* Banner name: RFC 'L' option */ 19EXTERN char *Classname_JOB; /* Class name: RFC 'C' option */ 20EXTERN int Copies_JOB; /* Copies */ 21EXTERN int Direct_JOB; /* Connect and send to TCP/IP port */ 22EXTERN int Format_JOB; /* format for printing: lower case letter */ 23EXTERN char *Font1_JOB; /* Font information 1 */ 24EXTERN char *Font2_JOB; /* Font information 2 */ 25EXTERN char *Font3_JOB; /* Font information 3 */ 26EXTERN char *Font4_JOB; /* Font information 4 */ 27EXTERN int Indent_JOB; /* indent: RFC 'I' option */ 28EXTERN char *Jobname_JOB; /* Job name: RFC 'J' option */ 29EXTERN int Lpr_zero_file_JOB; /* LPR does file filtering and job flattening */ 30EXTERN int Lpr_bounce_JOB; /* LPR does file filtering and job flattening */ 31EXTERN char *Mailname_JOB; /* Mail name: RFC 'M' option */ 32EXTERN int No_header_JOB; /* No header flag: no L option in control file */ 33EXTERN int Priority_JOB; /* Priority */ 34EXTERN char *Printer_JOB; /* Printer passed as option */ 35EXTERN char *Prtitle_JOB; /* Pr title: RFC 'T' option */ 36EXTERN int Pwidth_JOB; /* Width paper: RFC 'W' option */ 37EXTERN int Removefiles_JOB; /* Remove files */ 38EXTERN char *Username_JOB; /* Specified with the -U option */ 39EXTERN char *Zopts_JOB; /* Z options */ 40EXTERN char * User_filter_JOB; /* User specified filter for job files */ 41 42extern struct jobwords Lpr_parms[]; /* parameters for LPR */ 43EXTERN int LP_mode_JOB; /* look like LP */ 44EXTERN int Silent_JOB; /* lp -s option */ 45EXTERN int Job_number; 46 47/* PROTOTYPES */ 48int main(int argc, char *argv[], char *envp[]); 49void Get_parms(int argc, char *argv[] ); 50void prmsg( char **msg ); 51void usage(void); 52int Make_job( struct job *job ); 53void get_job_number( struct job *job ); 54double Copy_STDIN( struct job *job ); 55double Check_files( struct job *job ); 56int Check_lpr_printable(char *file, int fd, struct stat *statb, int format ); 57int is_exec( char *buf, int n); 58int is_arch(char *buf, int n); 59void Dienoarg(int option); 60void Check_int_dup (int option, int *value, char *arg, int maxvalue); 61void Check_str_dup(int option, char **value, char *arg, int maxlen ); 62void Check_dup(int option, int *value); 63 64#endif 65