Annotation of coherent/g/usr/bin/mlp/header.h, revision 1.1.1.1

1.1       root        1: /******************************************************************************
                      2:    MLP Spooler header
                      3: ******************************************************************************/
                      4: 
                      5: #include <stdio.h>
                      6: #include <stdlib.h>
                      7: #include <string.h>
                      8: #include <fcntl.h>
                      9: #include <unistd.h>
                     10: #include <time.h>
                     11: #include <sys/types.h>
                     12: #include <sys/ipc.h>
                     13: #include <sys/sem.h>
                     14: #include <sys/stat.h>
                     15: #include <signal.h>
                     16: #include <dirent.h>
                     17: #include <varargs.h>
                     18: #include <errno.h>
                     19: #include <pwd.h>
                     20: 
                     21: #define FPERMS 012
                     22: 
                     23: #define BACKEND_PATH  "/usr/spool/mlp/backend"
                     24: #define ROUTE_PATH    "/usr/spool/mlp/route"
                     25: #define QUEUE_PATH    "/usr/spool/mlp/queue"
                     26: #define CONTROL_PATH  "/usr/spool/mlp/controls"
                     27: #define STATUS_PATH   "/usr/spool/mlp/status"
                     28: #define LOG_PATH      "/usr/spool/mlp/log"
                     29: #define SPOOL_ENV     "MLP_SPOOL"
                     30: #define PRIORITY_ENV  "MLP_PRIORITY"
                     31: #define FORMLEN_ENV   "MLP_FORMLEN"
                     32: #define COPIES_ENV    "MLP_COPIES"
                     33: #define LONGEVITY_ENV "MLP_LIFE"
                     34: #define SEQNUM        "seqnum"
                     35: #define SYSTEM        "system"
                     36: #define DISPLAY       "display"
                     37: #define LOCAL         "local"
                     38: #define DESPOOLER     "despooler"
                     39: #define LOCALFEED     "localfeed"
                     40: #define FEED          "feed"
                     41: #define DOCOPIES      "docopies"
                     42: #define DEFAULT       "default"
                     43: #define TLIFE         "templife"
                     44: #define SLIFE         "shortlife"
                     45: #define LLIFE         "longlife"
                     46: #define DBACKEND      "/bin/cat"
                     47: 
                     48: #define HEADER_SIZE   192
                     49: #define DESC_LEN      45
                     50: #define WORKSTR       128
                     51: 
                     52: #define TRUE          1
                     53: #define FALSE         0
                     54: #define BAD          -1
                     55: 
                     56: #define BUG(x,y) {fprintf(stderr,"%s : %s\n", x, y); fflush(stderr);}
                     57: 
                     58: /* Header Defines */
                     59: 
                     60: #define HSET        TRUE
                     61: #define HGET        FALSE
                     62: #define H_USER      0
                     63: #define H_PRINTER   1
                     64: #define H_TYPE      2
                     65: #define H_FORMLEN   3
                     66: #define H_PAGES     4
                     67: #define H_DBASE     5
                     68: #define H_FORMAT    6
                     69: #define H_DSTAMP    7
                     70: #define H_DESC      8
                     71: #define H_LONGEVITY 9
                     72: #define H_COPIES    10
                     73: #define H_MAILME    11
                     74: #define H_WRITEME   12
                     75: #define H_ENTIRE    99
                     76: 
                     77: 
                     78: #define PRINTER_DISPLAY 0
                     79: #define REQUEST_DISPLAY 1
                     80: #define DEVICE_DISPLAY  2
                     81: #define PID_DISPLAY     3
                     82: 
                     83: 
                     84: #define R_KILL    SIGUSR1
                     85: #define R_CANCEL  SIGUSR2
                     86: 
                     87: #define A_LIFETIME 0
                     88: #define A_PRINTER  1
                     89: 
                     90: #define CLEAR_ALL TRUE
                     91: #define CLEAR_ONE FALSE
                     92: 
                     93: #define SEP  "=,\t \n"
                     94: 
                     95: #define E_START   0
                     96: #define E_END     1
                     97: #define E_NEXT    2
                     98: #define E_REWIND  3
                     99: #define E_FILE    4
                    100: #define E_UNLOCK  5
                    101: 
                    102: #define  IPC_NAME   "/usr/spool/mlp"
                    103: #define  IPC_PERMS  0666
                    104: #define  IPC_SEMS   4
                    105: #define  L_CANCEL   0
                    106: #define  L_CONTROL  1
                    107: #define  L_STATUS   2
                    108: #define  L_LOG      3 
                    109: 
                    110: extern char *getenv();
                    111: extern void  fatal();
                    112: extern void  warn();
                    113: extern int   rename();
                    114: extern char *header();
                    115: extern void  get_termcap();
                    116: extern char *datestamp();
                    117: extern char *uppercase();
                    118: extern char *controls();
                    119: extern char *status();
                    120: extern char *route_request();
                    121: extern int   get_seq_num();
                    122: extern char *request_filename();
                    123: extern void  local_print();
                    124: extern char *dirlist();
                    125: extern void  wakeup_despooler();
                    126: extern char *headerval();
                    127: extern char *unpadd();
                    128: extern char *basename();
                    129: extern int   scheduler_status();
                    130: extern int   writeOut();
                    131: extern char *request_name();
                    132: extern char *report_printer_status();
                    133: extern void  cancel_request();
                    134: extern int   kill_printing_request();
                    135: extern void  make_inactive();
                    136: extern char *each_printer();
                    137: extern void  MLP_lock();
                    138: extern void  MLP_unlock();

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.