Annotation of os2sdk/include/bios.h, revision 1.1

1.1     ! root        1: /***
        !             2: *bios.h - declarations for bios interface functions and supporting definitions
        !             3: *
        !             4: *   Copyright (c) 1987, Microsoft Corporation.  All rights reserved.
        !             5: *
        !             6: *Purpose:
        !             7: *   This file declares the constants, structures, and functions
        !             8: *   used for accessing and using various BIOS interfaces.
        !             9: *
        !            10: *******************************************************************************/
        !            11: 
        !            12: #ifndef NO_EXT_KEYS /* extensions enabled */
        !            13:     #define _CDECL  cdecl
        !            14: #else   /* extensions not enabled */
        !            15:     #define _CDECL
        !            16: #endif  /* NO_EXT_KEYS */
        !            17: 
        !            18: /* manifest constants for BIOS serial communications (RS-232) support */
        !            19: 
        !            20: /* serial port services */
        !            21: 
        !            22: #define _COM_INIT       0   /* init serial port */
        !            23: #define _COM_SEND       1   /* send character */
        !            24: #define _COM_RECEIVE    2   /* receive character */
        !            25: #define _COM_STATUS     3   /* get serial port status */
        !            26: 
        !            27: /* serial port initializers.  One and only one constant from each of the
        !            28:  * following four groups - character size, stop bit, parity, and baud rate -
        !            29:  * must be specified in the initialization byte.
        !            30:  */
        !            31: 
        !            32: /* character size initializers */
        !            33: 
        !            34: #define _COM_CHR7       2   /* 7 bits characters */
        !            35: #define _COM_CHR8       3   /* 8 bits characters */
        !            36: 
        !            37: /* stop bit values - on or off */
        !            38: 
        !            39: #define _COM_STOP1      0   /* 1 stop bit */
        !            40: #define _COM_STOP2      4   /* 2 stop bits */
        !            41: 
        !            42: /*  parity initializers */
        !            43: 
        !            44: #define _COM_NOPARITY   0   /* no parity */
        !            45: #define _COM_ODDPARITY  8   /* odd parity */
        !            46: #define _COM_EVENPARITY 24  /* even parity */
        !            47: 
        !            48: /*  baud rate initializers */
        !            49: 
        !            50: #define _COM_110        0       /* 110 baud */
        !            51: #define _COM_150        32      /* 150 baud */
        !            52: #define _COM_300        64      /* 300 baud */
        !            53: #define _COM_600        96      /* 600 baud */
        !            54: #define _COM_1200       128     /* 1200 baud */
        !            55: #define _COM_2400       160     /* 2400 baud */
        !            56: #define _COM_4800       192     /* 4800 baud */
        !            57: #define _COM_9600       224     /* 9600 baud */
        !            58: 
        !            59: 
        !            60: /* manifest constants for BIOS disk support */
        !            61: 
        !            62: /* disk services */
        !            63: 
        !            64: #define _DISK_RESET     0   /* reset disk controller */
        !            65: #define _DISK_STATUS    1   /* get disk status */
        !            66: #define _DISK_READ      2   /* read disk sectors */
        !            67: #define _DISK_WRITE     3   /* write disk sectors */
        !            68: #define _DISK_VERIFY    4   /* verify disk sectors */
        !            69: #define _DISK_FORMAT    3   /* format disk track */
        !            70: 
        !            71: /* struct used to send/receive information to/from the BIOS disk services */
        !            72: 
        !            73: #ifndef NO_EXT_KEYS     /* extensions must be enabled */
        !            74: 
        !            75: #ifndef DISKINFO_T_DEFINED
        !            76: 
        !            77: struct diskinfo_t {
        !            78:     unsigned drive;
        !            79:     unsigned head;
        !            80:     unsigned track;
        !            81:     unsigned sector;
        !            82:     unsigned nsectors;
        !            83:     void far *buffer;
        !            84:     };
        !            85: 
        !            86: #define DISKINFO_T_DEFINED
        !            87: 
        !            88: #endif
        !            89: 
        !            90: #endif /* NO_EXT_KEYS */
        !            91: 
        !            92: 
        !            93: /* manifest constants for BIOS keyboard support */
        !            94: 
        !            95: /* keyboard services */
        !            96: 
        !            97: #define _KEYBRD_READ        0   /* read next character from keyboard */
        !            98: #define _KEYBRD_READY       1   /* check for keystroke */
        !            99: #define _KEYBRD_SHIFTSTATUS 2   /* get current shift key status */
        !           100: 
        !           101: 
        !           102: /* manifest constants for BIOS printer support */
        !           103: 
        !           104: /* printer services */
        !           105: 
        !           106: #define _PRINTER_WRITE  0   /* write character to printer */
        !           107: #define _PRINTER_INIT   1   /* intialize printer */
        !           108: #define _PRINTER_STATUS 2   /* get printer status */
        !           109: 
        !           110: 
        !           111: /* manifest constants for BIOS time of day support */
        !           112: 
        !           113: /* time of day services */
        !           114: 
        !           115: #define _TIME_GETCLOCK  0   /* get current clock count */
        !           116: #define _TIME_SETCLOCK  1   /* set current clock count */
        !           117: 
        !           118: 
        !           119: #ifndef _REGS_DEFINED
        !           120: 
        !           121: /* word registers */
        !           122: 
        !           123: struct WORDREGS {
        !           124:     unsigned int ax;
        !           125:     unsigned int bx;
        !           126:     unsigned int cx;
        !           127:     unsigned int dx;
        !           128:     unsigned int si;
        !           129:     unsigned int di;
        !           130:     unsigned int cflag;
        !           131:     };
        !           132: 
        !           133: /* byte registers */
        !           134: 
        !           135: struct BYTEREGS {
        !           136:     unsigned char al, ah;
        !           137:     unsigned char bl, bh;
        !           138:     unsigned char cl, ch;
        !           139:     unsigned char dl, dh;
        !           140:     };
        !           141: 
        !           142: /* general purpose registers union -
        !           143:  *  overlays the corresponding word and byte registers.
        !           144:  */
        !           145: 
        !           146: union REGS {
        !           147:     struct WORDREGS x;
        !           148:     struct BYTEREGS h;
        !           149:     };
        !           150: 
        !           151: /* segment registers */
        !           152: 
        !           153: struct SREGS {
        !           154:     unsigned int es;
        !           155:     unsigned int cs;
        !           156:     unsigned int ss;
        !           157:     unsigned int ds;
        !           158:     };
        !           159: 
        !           160: #define _REGS_DEFINED
        !           161: 
        !           162: #endif /* _REGS_DEFINED */
        !           163: 
        !           164: 
        !           165: /* function prototypes */
        !           166: 
        !           167: unsigned _CDECL _bios_equiplist(void);
        !           168: unsigned _CDECL _bios_keybrd(unsigned);
        !           169: unsigned _CDECL _bios_memsize(void);
        !           170: unsigned _CDECL _bios_printer(unsigned, unsigned, unsigned);
        !           171: unsigned _CDECL _bios_serialcom(unsigned, unsigned, unsigned);
        !           172: unsigned _CDECL _bios_timeofday(unsigned, long *);
        !           173: int _CDECL int86(int, union REGS *, union REGS *);
        !           174: int _CDECL int86x(int, union REGS *, union REGS *, struct SREGS *);
        !           175: 
        !           176: #ifndef NO_EXT_KEYS     /* extensions must be enabled */
        !           177: 
        !           178: unsigned _CDECL _bios_disk(unsigned, struct diskinfo_t *);
        !           179: 
        !           180: #endif /* NO_EXT_KEYS */

unix.superglobalmegacorp.com

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