home *** CD-ROM | disk | FTP | other *** search
- /* Header for module SYSDEVS, generated by p2c */
- #ifndef SYSDEVS_H
- #define SYSDEVS_H
-
-
-
- #ifndef SYSGLOBALS_H
- #include <sysgloba.h>
- #endif
-
-
-
- #ifdef SYSDEVS_G
- # define vextern
- #else
- # define vextern extern
- #endif
-
-
-
- /** DUMMY DECLARATIONS ***********************************/
- /** CRT **************************************************/
- /****** THIS SECTION HAS HARD OFFSET REFERENCES **********/
- /* IN MODULES CRTB (ASSY FILE GASSM) */
-
-
-
- /* 3/25/85 */
- /* 3/25/85 */
- /*built in crt*/
- /* CRT CONTROL CHARS */
- /* CRT INFO & INPUT CHARS */
-
- typedef union CRTWORD {
- struct {
- Char HIGHLIGHTBYTE, CHARACTER;
- } U1;
- short WHOLEWORD;
- } CRTWORD;
-
- typedef enum {
- CLLPUT, CLLSHIFTL, CLLSHIFTR, CLLCLEAR, CLLDISPLAY, PUTSTATUS
- } CRTLLOPS;
-
- typedef enum {
- DBINFO, DBEXCG, DBGOTOXY, DBPUT, DBINIT, DBCLEAR, DBCLINE, DBSCROLLUP,
- DBSCROLLDN, DBSCROLLL, DBSCROLLR, DBHIGHL
- } DBCRTOPS;
-
- typedef struct DBCINFO {
- Char *SAVEAREA;
- long SAVESIZE, DCURSORADDR;
- short XMIN, XMAX, YMIN, YMAX, CURSX, CURSY;
- Char C;
- boolean AREAISDBCRT, CHARISMAPPED;
- short DEBUGHIGHLIGHT;
- } DBCINFO;
-
- typedef uchar crtconsttype[12];
-
- typedef struct crtfrec {
- unsigned nobreak : 1, stupid : 1, slowterm : 1, hasxycrt : 1,
- haslccrt : 1, hasclock : 1, canupscroll : 1, candownscroll : 1;
- } crtfrec;
-
- typedef unsigned short b9;
-
- typedef unsigned short b14;
-
- typedef struct crtcrec {
- Char rlf, ndfs, eraseeol, eraseeos, home, escape, backspace;
- uchar fillcount;
- Char clearscreen, clearline;
- unsigned short prefixed;
- } crtcrec;
-
- typedef struct crtirec {
- short width, height;
- long crtmemaddr, crtcontroladdr, keybufferaddr, progstateinfoaddr;
- short keybuffersize;
- crtconsttype crtcon;
- Char right, left, down, up, badch, chardel, stop, break_, flush, eof,
- altmode, linedel, backspace, etx, prefix;
- unsigned short prefixed;
- long cursormask, spare;
- } crtirec;
-
- typedef struct environ {
- crtfrec miscinfo;
- long crttype;
- crtcrec crtctrl;
- crtirec crtinfo;
- } environ;
-
- typedef enum {
- NOCRT, ALPHATYPE, BITMAPTYPE, SPECIALCRT1, SPECIALCRT2
- } crtkinds;
-
-
-
- /* CURSOR X POSITION */
- /* CURSOR Y POSITION */
- /* ACTIVE ALPHA DRIVER TYPE */
- /* ADDRESS OF BITMAP CONTROL SPACE */
- /* ADDRESS OF BITMAP FRAME BUFFER */
- /* REGISTER COPIES FOR BITMAP DISPLAY */
- /* MUST BE IN GLOBALS BECAUSE REGISTERS */
- /* ARE NOT READABLE -- MAY BE UNDEFINED */
- /** KEYBOARD ********************************************/
- #define KBD_ENABLE 0
- #define KBD_DISABLE 1
- #define SET_AUTO_DELAY 2
- #define SET_AUTO_REPEAT 3
- #define GET_AUTO_DELAY 4
- #define GET_AUTO_REPEAT 5
- #define SET_KBDTYPE 6
- #define SET_KBDLANG 7
-
-
-
- /*ADDED FOR 3.1--SFB-5/22/85*/
-
- typedef enum {
- NOKBD, LARGEKBD, SMALLKBD, ITFKBD, SPECIALKBD1, SPECIALKBD2
- } KEYBOARDTYPE;
-
- typedef enum {
- NO_KBD, FINISH_KBD, BELGIAN_KBD, CDN_ENG_KBD, CDN_FR_KBD, NORWEGIAN_KBD,
- DANISH_KBD, DUTCH_KBD, SWISS_GR_KBD, SWISS_FR_KBD, SPANISH_EUR_KBD,
- SPANISH_LATIN_KBD, UK_KBD, ITALIAN_KBD, FRENCH_KBD, GERMAN_KBD,
- SWEDISH_KBD, SPANISH_KBD, KATAKANA_KBD, US_KBD, ROMAN8_KBD, NS1_KBD,
- NS2_KBD, NS3_KBD, SWISS_GR_B_KBD, SWISS_FR_B_KBD
- } LANGTYPE;
-
- typedef enum {
- M_NONE, M_SYSNORM, M_SYSSHIFT, M_U1, M_U2, M_U3, M_U4
- } MENUTYPE;
-
-
-
- /* KEYBOARD CONFIGURATION JUMPER */
- /** ENABLE / DISABLE *************************************/
- #define KBDMASK 1
- #define RESETMASK 2
- #define TIMERMASK 4
- #define PSIMASK 8
- #define FHIMASK 16
-
-
-
- /* ENABLE, DISABLE */
- /** BEEPER ***********************************************/
- /** RPG **************************************************/
- #define RPG_ENABLE 0
- #define RPG_DISABLE 1
- #define SET_RPG_RATE 2
- #define GET_RPG_RATE 3
-
-
-
- /** BATTERY **********************************************/
-
-
-
- /** CLOCK ************************************************/
- /*CUPDATE ADDED FOR BOBCAT 4/11/85 SFB*/
-
- typedef struct RTCTIME {
- long PACKEDTIME, PACKEDDATE;
- } RTCTIME;
-
- typedef enum {
- CGETDATE, CGETTIME, CSETDATE, CSETTIME
- } CLOCKFUNC;
-
- typedef enum {
- CGET, CSET, CUPDATE
- } CLOCKOP;
-
- typedef union CLOCKDATA {
- timerec TIMETYPE;
- daterec DATETYPE;
- } CLOCKDATA;
-
-
-
- /* CLOCK MODULE INTERFACE */
- /* CARD DRIVER INTERFACE */
- /** TIMER ************************************************/
-
- typedef enum {
- CYCLICT, PERIODICT, DELAYT, DELAY7T, MATCHT
- } TIMERTYPES;
-
- typedef enum {
- SETT, READT, GETTINFO
- } TIMEROPTYPE;
-
- typedef union TIMERDATA {
- long COUNT;
- timerec MATCH;
- struct {
- long RESOLUTION, RANGE;
- } U2;
- } TIMERDATA;
-
-
-
- /** KEYBUFFER ********************************************/
- #define KMAXBUFSIZE 255
-
-
-
- typedef enum {
- KGETCHAR, KAPPEND, KNONADVANCE, KCLEAR, KDISPLAY, KGETLAST, KPUTFIRST
- } KOPTYPE;
-
- typedef Char KBUFTYPE[KMAXBUFSIZE + 1];
-
- typedef struct KBUFREC {
- boolean ECHO;
- Char NON_CHAR;
- long MAXSIZE, SIZE, INP, OUTP;
- Char *BUFFER;
- } KBUFREC;
-
-
-
- /*0 s or f = STEP/FLASH IN PROGRESS (WAITING FOR TRAP #0)*/
- /*1..5 last executed/current line number */
- /*6 S=SYSTEM U=USER DEFINITION FOR ITF SOFT KEYS*/
- /* BLANK FOR NON ITF KEYBOARDS */
- /*7 RUNLIGHT */
- /** KEY TRANSLATION SERVICES *********************************/
- /* ADDED NONA_ALPHA_KEY 5/9/84 RQ/SFB */
-
- typedef enum {
- KPASSTHRU, KSHIFT_EXTC, KPASS_EXTC
- } KEYTRANSTYPE;
-
- typedef enum {
- ALPHA_KEY, NONADV_KEY, SPECIAL_KEY, IGNORED_KEY, NONA_ALPHA_KEY
- } KEYTYPE;
-
- typedef struct LANGCOMREC {
- uchar STATUS, DATA;
- Char KEY;
- KEYTYPE RESULT;
- boolean SHIFT, CONTROL, EXTENSION;
- } LANGCOMREC;
-
- typedef struct LANGKEYREC {
- boolean NO_CAPSLOCK, NO_SHIFT, NO_CONTROL, NO_EXTENSION;
- KEYTYPE KEYCLASS;
- Char KEYS[2];
- } LANGKEYREC;
-
- typedef struct LANGRECORD {
- boolean CAN_NONADV;
- LANGTYPE LANGCODE;
- _PROCEDURE SEMANTICS;
- LANGKEYREC KEYTABLE[128];
- } LANGRECORD;
-
-
-
- /** HPHIL ************************************************/
- /*MOVED INTO SYSDEVS 4/6/84 SFB*/
- #define le_configured 0x80
- #define le_error 0x81
- #define le_timeout 0x82
- #define le_loopdown 0x84
- #define lmaxdevices 7
-
-
-
- /*UNINIT ADDED 4/8/85 SFB*/
- /*HPHILOP DEFINED AS NEW TYPE 4/6/84 SFB*/
- /*5 PROCEDURES HOOKED AS TYPE HPHILCMDPROC 4/6/84 SFB*/
- /* DEVICE DESCRIBE RECORD */
- /* reserved : 0..3; {DELETED 3/25/85 SFB*/
- /*3/27/85 SFB*/
- /*3/26/85 SFB*/
- /*ADDED 3/15/85 SFB*/
- /*ADDED 3/15/85 SFB*/
- /*REDEFINED AS RECORD - 4/6/84 SFB*/
- /* last loop command sent */
- /* data bye in / out */
- /* error occured on last operation */
- /* now doing reconfigure */
- /* last sent command is done */
- /* loop is configured */
- /* reading poll data */
- /* 3.0 BUG #39 3/17/84 */
-
- typedef enum {
- datastarting, dataended, resetdevice, uninitdevice
- } loopdvrop;
-
- typedef enum {
- RAWSHIFTOP, NORMSHIFTOP, CHECKLOOPOP, CONFIGUREOP, LCOMMANDOP
- } HPHILOP;
-
- typedef union descriprec {
- struct {
- uchar id;
- unsigned twosets : 1, abscoords : 1, size16 : 1, hasprompts : 1,
- ext_desc : 1, security : 1, numaxes : 2;
- Signed int counts : 16, maxcountx : 16, maxcounty : 16,
- maxcountz : 16;
- unsigned promptack : 1, nprompts : 3, proximity : 1, nbuttons : 3;
- } U1;
- Char darray[11];
- } descriprec;
-
- typedef struct devicerec {
- long devstate;
- descriprec descrip;
- _PROCEDURE opsproc;
- _PROCEDURE dataproc;
- } devicerec;
-
- typedef struct loopdriverrec {
- uchar lowid, highid, daddr;
- _PROCEDURE opsproc;
- _PROCEDURE dataproc;
- struct loopdriverrec *next;
- } loopdriverrec;
-
- typedef struct LOOPCONTROLREC {
- boolean rawmode;
- devicerec loopdevices[lmaxdevices];
- char loopdevice;
- uchar loopcmd, loopdata;
- boolean looperror, loopinconfig, loopcmddone, loopisok, loopdevreading;
- } LOOPCONTROLREC;
-
-
-
- /*NEW TO END OF HPHIL_COMM_REC TYPE 3/26/85 SFB*/
- /*DRIVER TYPES*/
- #define NODRIVER 0
- #define ABSLOCATOR 1
-
- /*range 1..15 reserved for DGL*/
- /*CODETYPES FROM POLLBLOCK (OR OTHER HPHIL OPCODE)*/
- #define NOCODES 0
- #define ASCIICODES 1
- #define SET1CODES 2
- #define SET2CODES 3
-
-
-
- /*3/25/85 SFB*/
- /*3/25/85 SFB*/
- /*stop updating data after button press/event*/
- /*capture data in ISR*/
- /*dvr_comm_rec busy, delay update from ISR*/
- /*bit/loopaddress that driver should service */
- /* put 0 where driver should NOT service device */
- /* with this dvr_comm_rec !*/
- /*call update to flush delayed poll data update*/
- /*next comm record*/
- /*for extensibility use as pointer/datarec*/
- /*HPHIL intrinsic data types from poll/command*/
- /*describes content of codes*/
- /*extensible for variant*/
-
- typedef union HPHIL_COMM_REC_TYPE {
- struct {
- short dvr_type;
- char dev_addr;
- boolean latch, active, reading;
- uchar devices;
- _PROCEDURE update;
- union HPHIL_COMM_REC_TYPE *link;
- long extend;
- short xloc, yloc, zloc, codetype, ncodes;
- Char codes[16];
- } U1;
- Char barray[54];
- } HPHIL_COMM_REC_TYPE;
-
-
-
- vextern environ *SYSCOM;
- vextern boolean ALPHASTATE, GRAPHICSTATE;
- vextern _PROCEDURE CRTIOHOOK;
- vextern _PROCEDURE TOGGLEALPHAHOOK;
- vextern _PROCEDURE TOGGLEGRAPHICSHOOK;
- vextern _PROCEDURE DUMPALPHAHOOK;
- vextern _PROCEDURE DUMPGRAPHICSHOOK;
- vextern _PROCEDURE UPDATECURSORHOOK;
- vextern _PROCEDURE CRTINITHOOK;
- vextern _PROCEDURE CRTLLHOOK;
- vextern _PROCEDURE DBCRTHOOK;
- vextern short XPOS, YPOS;
- vextern crtkinds CURRENTCRT;
- vextern long BITMAPADDR, FRAMEADDR;
- vextern short REPLREGCOPY, WINDOWREGCOPY, WRITEREGCOPY;
- vextern _PROCEDURE KBDREQHOOK;
- vextern _PROCEDURE KBDIOHOOK;
- vextern _PROCEDURE KBDISRHOOK;
- vextern _PROCEDURE KBDPOLLHOOK;
- vextern KEYBOARDTYPE KBDTYPE;
- vextern uchar KBDCONFIG;
- vextern LANGTYPE KBDLANG;
- vextern Char *SYSMENU, *SYSMENUSHIFT;
- vextern MENUTYPE MENUSTATE;
- vextern _PROCEDURE MASKOPSHOOK, BEEPERHOOK;
- vextern uchar BFREQUENCY, BDURATION;
- vextern _PROCEDURE RPGREQHOOK;
- vextern _PROCEDURE RPGISRHOOK;
- vextern boolean BATTERYPRESENT;
- vextern _PROCEDURE BATCMDHOOK;
- vextern _PROCEDURE BATREADHOOK;
- vextern _PROCEDURE CLOCKREQHOOK;
- vextern _PROCEDURE CLOCKIOHOOK;
- vextern _PROCEDURE TIMERIOHOOK;
- vextern _PROCEDURE TIMERISRHOOK;
- vextern KBUFREC *KEYBUFFER;
- vextern _PROCEDURE KBDWAITHOOK;
- vextern _PROCEDURE KBDRELEASEHOOK;
- vextern Char STATUSLINE[8];
- vextern LANGCOMREC LANGCOM;
- vextern LANGRECORD *LANGTABLE[2];
- vextern char LANGINDEX;
- vextern _PROCEDURE KBDTRANSHOOK;
- vextern KEYTRANSTYPE TRANSMODE;
- vextern boolean KBDSYSMODE, KBDALTLOCK, KBDCAPSLOCK;
- vextern loopdriverrec *loopdriverlist;
- vextern LOOPCONTROLREC *LOOPCONTROL;
- vextern _PROCEDURE HPHILCMDHOOK;
- vextern HPHIL_COMM_REC_TYPE *HPHIL_DATA_LINK;
-
-
-
- /*4/6/84 SFB*/
- /*4/6/84 SFB*/
- /*3/13/85 SFB*/
- /*-----------------------------------------------------------------------------*/
- extern Void SYSDEV_INIT PV( );
-
- /** BEEPER ***********************************************/
- extern Void BEEP PV( );
- extern Void BEEPER PP((int FREQUENCY, int DURATION));
-
- /** RPG **************************************************/
- extern Void SETRPGRATE PP((int RATE));
-
- /** KEYBOARD *********************************************/
- extern Void KBDSETUP PP((int CMD, int VALUE));
- extern Void KBDIO PP((fib *FP, int REQUEST, Char *BUFFER, long BUFSIZE,
- long POSITION));
- extern Void lockedaction PP((_PROCEDURE a));
-
- /** CRT **************************************************/
- extern Void CRTIO PP((fib *FP, int REQUEST, Char *BUFFER, long BUFSIZE,
- long POSITION));
- extern Void DUMMYCRTLL PP((int OP, long *POSITION, int C));
-
- /** BATTERY **********************************************/
- extern Void BATCOMMAND PP((int CMD, long NUMDATA, int B1, int B2, int B3,
- int B4, int B5));
- extern uchar BATBYTERECEIVED PV( );
-
- /** CLOCK ************************************************/
- extern long sysclock PV( );
-
- /*centiseconds from midnight*/
- extern Void sysdate PP((daterec *thedate));
- extern Void systime PP((timerec *thetime));
- extern Void setsysdate PP((daterec thedate));
- extern Void setsystime PP((timerec thetime));
-
- /** KEYBUFFER ********************************************/
- extern Void KEYBUFOPS PP((int OP, Char *C));
-
- /** STATUSLINE *******************************************/
- extern Void SETSTATUS PP((long N, int C));
- extern Char RUNLIGHT PV( );
- extern Void SETRUNLIGHT PP((int C));
-
-
-
- #undef vextern
-
- #endif /*SYSDEVS_H*/
-
- /* End. */
-
-