/********************************************************************* * file: sys/plotter.h * part #: * internal sequence #: * * ************************************************************ * * " (c) Copyright Hewlett-Packard Company, 1984. All * * * rights are reserved. Copying or other reproduction * * * of this program except for archival purposes is * * * prohibited without the prior written consent of * * * Hewlett-Packard Company." * * ************************************************************ * * * This file contains the generic plotter driver definitions. * * Pisces Q-DOS project * Jay Phillips PCD * * $Log$ * ************************************************************************/ /************************************************************************ * * Major device numbers for the different plotter interfaces * Except that 0 is used for plotter emulator. * ************************************************************************/ #define NO_PLOTTER 0 #define PLOTTER_EMULATOR 17 #define HPIB_PLOTTER 19 #define RS_232_PLOTTER 4 #define PLOTTER_MAJOR 21 /* major dev numb /dev/plotter */ #define PLOTTER_MINOR 0 /* minor dev numb /dev/plotter */ /************************************************************************ * * Generic plotter driver ioctl command definitions * ************************************************************************/ #define PLOT_CHANGE (('p' << 8) | 0) #define PLOT_ID (('p' << 8) | 1) #define PL_GETCTLBITS (('p' << 8) | 2) #define PL_SETCTLBITS (('p' << 8) | 3) /************************************************************************ * * Misc. * ************************************************************************/ #define TRUE 1 #define FALSE 0 /************************************************************************ * * Plotter flags * ************************************************************************/ #define PL_HANDSHAKE 0x0000c000 /* handshake control field */ #define PL_ENQACK 1 /* enquire-acknowledge */ #define PL_XONXOFF 2 /* xon-xoff */ #define PL_HARDWARE 3 /* hardware handshake */ #define PL_HAND_SHIFT 14 /* handshake value shift factor */ #define PL_PARITY 0x00000080 /* parity on/off */ #define PL_PAREVEN 0x00000040 /* parity odd/even */ #define PL_1STOPBIT 0x00000020 /* stop bits 1/2 */ #define PL_BAUD 0x0000001f /* baud rate */ #define PLB0 0x00 /* hangup */ #define PLB50 0x01 /* 50 baud */ #define PLB75 0x02 /* 75 baud */ #define PLB110 0x03 /* 110 baud */ #define PLB134 0x04 /* 134.5 baud */ #define PLB150 0x05 /* 150 baud */ #define PLB200 0x06 /* 200 baud */ #define PLB300 0x07 /* 300 baud */ #define PLB600 0x08 /* 600 baud */ #define PLB900 0x09 /* 900 baud */ #define PLB1200 0x0a /* 1200 baud */ #define PLB1800 0x0b /* 1800 baud */ #define PLB2400 0x0c /* 2400 baud */ #define PLB3600 0x0d /* 3600 baud */ #define PLB4800 0x0e /* 4800 baud */ #define PLB7200 0x0f /* 7200 baud */ #define PLB9600 0x10 /* 9600 baud */ #define PLB19200 0x11 /* 19200 baud */ #define PLB38400 0x12 /* 38400 baud */ /************************************************************************ * * Data structures * ************************************************************************/ struct driv_info { int id; int type; }; struct p_change { int pid; dev_t dev; }; struct set_ctl { int pid; long control; };