typedef struct { short pagelength; short * tape; } channel_tape; typedef struct printobj { short nlpt; FILE * prn; char * lpt; boolean (*open)(struct printobj * pr); int (*print)(struct printobj * pr, char * fmt, ...); int (*flush)(struct printobj * pr); void (*newline)(struct printobj * pr); boolean (*ready)(struct printobj * pr); boolean (*init)(struct printobj * pr,boolean diag); void (*close)(struct printobj * pr); void (*final)(struct printobj * pr); void (*write_translated)(unsigned char * str, struct printobj * pr); void (*eject)(struct printobj * pr); boolean (*is_virtual)(void); void (*clear)(struct printobj * pr); short current_line; /* current line on page */ channel_tape * form; } printobj; #define PRINT_LENGTH 132