Annotation of coherent/d/286_KERNEL/USRSRC/io/iscon.c, revision 1.1

1.1     ! root        1: /* (-lgl
        !             2:  *     COHERENT Driver Kit Version 1.1.0
        !             3:  *     Copyright (c) 1982, 1990 by Mark Williams Company.
        !             4:  *     All rights reserved. May not be copied without permission.
        !             5:  -lgl) */
        !             6: /*
        !             7:  * Keyboard/display driver.
        !             8:  * Coherent, IBM PC/XT/AT.
        !             9:  */
        !            10: #include <sys/coherent.h>
        !            11: #include <sys/i8086.h>
        !            12: #include <sys/con.h>
        !            13: #include <sys/devices.h>
        !            14: #include <errno.h>
        !            15: #include <sys/stat.h>
        !            16: #include <sys/tty.h>
        !            17: #include <sys/uproc.h>
        !            18: #include <signal.h>
        !            19: #include <sys/sched.h>
        !            20: 
        !            21: #define        SPC     0376                    /* Special encoding */
        !            22: #define XXX    0377                    /* Non-character */
        !            23: #define        KBDATA  0x60                    /* Keyboard data */
        !            24: #define        KBCTRL  0x61                    /* Keyboard control */
        !            25: #define        KBFLAG  0x80                    /* Keyboard reset flag */
        !            26: #define        LEDCMD  0xED                    /* status indicator command */
        !            27: #define        KBACK   0xFA                    /* status indicator acknowledge */
        !            28: #define        EXTENDED1 0xE1                  /* extended key seq initiator */
        !            29: 
        !            30: #define        KEYUP   0x80                    /* Key up change */
        !            31: #define        KEYSC   0x7F                    /* Key scan code mask */
        !            32: #define        LSHIFT  0x2A-1                  /* Left shift key */
        !            33: #define LSHIFTA 0x2B-1                 /* Alternate left-shift key */
        !            34: #define        RSHIFT  0x36-1                  /* Right shift key */
        !            35: #define        CTRL    0x1D-1                  /* Control key */
        !            36: /*-- #define   CAPLOCK 0x1D-1  --*/            /* Control key */
        !            37: #define        ALT     0x38-1                  /* Alt key */
        !            38: #define        CAPLOCK 0x3A-1                  /* Caps lock key */
        !            39: /*-- #define   CTRL    0x3A-1  --*/            /* Caps lock key */
        !            40: #define        NUMLOCK 0x45-1                  /* Numeric lock key */
        !            41: #define        DELETE  0x53-1                  /* Del, as in CTRL-ALT-DEL */
        !            42: #define BACKSP 0x0E-1                  /* Back space */
        !            43: #define SCRLOCK        0x46-1                  /* Scroll lock */
        !            44: 
        !            45: /* Shift flags */
        !            46: #define        SRS     0x01                    /* Right shift key on */
        !            47: #define        SLS     0x02                    /* Left shift key on */
        !            48: #define CTS    0x04                    /* Ctrl key on */
        !            49: #define ALS    0x08                    /* Alt key on */
        !            50: #define CPLS   0x10                    /* Caps lock on */
        !            51: #define NMLS   0x20                    /* Num lock on */
        !            52: #define AKPS   0x40                    /* Alternate keypad shift */
        !            53: #define SHFT   0x80                    /* Shift key flag */
        !            54: 
        !            55: /* Function key information */
        !            56: #define        NFKEY   20                      /* Number of settable functions */
        !            57: #define        NFCHAR  150                     /* Number of characters settable */
        !            58: #define        NFBUF   (NFKEY*2+NFCHAR+1)      /* Size of buffer */
        !            59: 
        !            60: /*
        !            61:  * Functions.
        !            62:  */
        !            63: int    isrint();
        !            64: int    istime();
        !            65: void   isbatch();
        !            66: int    mmstart();
        !            67: int    isopen();
        !            68: int    isclose();
        !            69: int    isread();
        !            70: int    mmwrite();
        !            71: int    isioctl();
        !            72: void   mmwatch();
        !            73: int    isload();
        !            74: int    isuload();
        !            75: int    ispoll();
        !            76: int    nulldev();
        !            77: int    nonedev();
        !            78: 
        !            79: /*
        !            80:  * Configuration table.
        !            81:  */
        !            82: CON iscon ={
        !            83:        DFCHR|DFPOL,                    /* Flags */
        !            84:        KB_MAJOR,                               /* Major index */
        !            85:        isopen,                         /* Open */
        !            86:        isclose,                        /* Close */
        !            87:        nulldev,                        /* Block */
        !            88:        isread,                         /* Read */
        !            89:        mmwrite,                        /* Write */
        !            90:        isioctl,                        /* Ioctl */
        !            91:        nulldev,                        /* Powerfail */
        !            92:        mmwatch,                        /* Timeout */
        !            93:        isload,                         /* Load */
        !            94:        isuload,                        /* Unload */
        !            95:        ispoll                          /* Poll */
        !            96: };

unix.superglobalmegacorp.com

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