Annotation of os232sdk/toolkt20/c/os2h/bsedev.h, revision 1.1

1.1     ! root        1: /*static char *SCCSID = "@(#)bsedev.h  1.00 90/01/31";*/
        !             2: /**************************************************************************\
        !             3: *
        !             4: * Module Name: BSEDEV.H
        !             5: *
        !             6: * OS/2 Structures and constants for use with DosDevIOCtl
        !             7: *
        !             8: * Copyright (c) 1989-1990, Microsoft Corporation.  All rights reserved.
        !             9: * Copyright (c) 1987-1990, IBM Corporation
        !            10: *
        !            11: \**************************************************************************/
        !            12: 
        !            13: #define BSEDEV_INCLUDED
        !            14: 
        !            15: /* Input and Output Control Categories */
        !            16: 
        !            17: #define IOCTL_ASYNC            0x0001
        !            18: #define IOCTL_SCR_AND_PTRDRAW  0x0003
        !            19: #define IOCTL_KEYBOARD         0x0004
        !            20: #define IOCTL_PRINTER          0x0005
        !            21: #define IOCTL_LIGHTPEN         0x0006
        !            22: #define IOCTL_POINTINGDEVICE   0x0007
        !            23: #define IOCTL_DISK             0x0008
        !            24: #define IOCTL_PHYSICALDISK     0x0009
        !            25: #define IOCTL_MONITOR          0x000A
        !            26: #define IOCTL_GENERAL          0x000B
        !            27: 
        !            28: /* Serial-Device Control */
        !            29: 
        !            30: #define ASYNC_SETBAUDRATE      0x0041
        !            31: #define ASYNC_SETLINECTRL      0x0042
        !            32: #define ASYNC_TRANSMITIMM      0x0044
        !            33: #define ASYNC_SETBREAKOFF      0x0045
        !            34: #define ASYNC_SETMODEMCTRL     0x0046
        !            35: #define ASYNC_SETBREAKON       0x004B
        !            36: #define ASYNC_STOPTRANSMIT     0x0047
        !            37: #define ASYNC_STARTTRANSMIT    0x0048
        !            38: #define ASYNC_SETDCBINFO       0x0053
        !            39: #define ASYNC_GETBAUDRATE      0x0061
        !            40: #define ASYNC_GETLINECTRL      0x0062
        !            41: #define ASYNC_GETCOMMSTATUS    0x0064
        !            42: #define ASYNC_GETLINESTATUS    0x0065
        !            43: #define ASYNC_GETMODEMOUTPUT   0x0066
        !            44: #define ASYNC_GETMODEMINPUT    0x0067
        !            45: #define ASYNC_GETINQUECOUNT    0x0068
        !            46: #define ASYNC_GETOUTQUECOUNT   0x0069
        !            47: #define ASYNC_GETCOMMERROR     0x006D
        !            48: #define ASYNC_GETCOMMEVENT     0x0072
        !            49: #define ASYNC_GETDCBINFO       0x0073
        !            50: 
        !            51: /* Screen/Pointer-Draw Control */
        !            52: 
        !            53: #define SCR_ALLOCLDT           0x0070
        !            54: #define SCR_DEALLOCLDT         0x0071
        !            55: #define PTR_GETPTRDRAWADDRESS  0x0072
        !            56: #define SCR_ALLOCLDTOFF                0x0075
        !            57: 
        !            58: /* Keyboard Control */
        !            59: 
        !            60: #define KBD_SETTRANSTABLE      0x0050
        !            61: #define KBD_SETINPUTMODE       0x0051
        !            62: #define KBD_SETINTERIMFLAG     0x0052
        !            63: #define KBD_SETSHIFTSTATE      0x0053
        !            64: #define KBD_SETTYPAMATICRATE   0x0054
        !            65: #define KBD_SETFGNDSCREENGRP   0x0055
        !            66: #define KBD_SETSESMGRHOTKEY    0x0056
        !            67: #define KBD_SETFOCUS           0x0057
        !            68: #define KBD_SETKCB             0x0058
        !            69: #define KBD_SETNLS             0x005C
        !            70: #define KBD_CREATE             0x005D
        !            71: #define KBD_DESTROY            0x005E
        !            72: #define KBD_GETINPUTMODE       0x0071
        !            73: #define KBD_GETINTERIMFLAG     0x0072
        !            74: #define KBD_GETSHIFTSTATE      0x0073
        !            75: #define KBD_READCHAR           0x0074
        !            76: #define KBD_PEEKCHAR           0x0075
        !            77: #define KBD_GETSESMGRHOTKEY    0x0076
        !            78: #define KBD_GETKEYBDTYPE       0x0077
        !            79: #define KBD_GETCODEPAGEID      0x0078
        !            80: #define KBD_XLATESCAN          0x0079
        !            81: 
        !            82: /* Printer Control */
        !            83: 
        !            84: #define PRT_SETFRAMECTL                0x0042
        !            85: #define PRT_SETINFINITERETRY   0x0044
        !            86: #define PRT_INITPRINTER                0x0046
        !            87: #define PRT_ACTIVATEFONT       0x0048
        !            88: #define PRT_GETFRAMECTL                0x0062
        !            89: #define PRT_GETINFINITERETRY   0x0064
        !            90: #define PRT_GETPRINTERSTATUS   0x0066
        !            91: #define PRT_QUERYACTIVEFONT    0x0069
        !            92: #define PRT_VERIFYFONT         0x006A
        !            93: 
        !            94: /* Pointing-Device (Mouse) Control */
        !            95: 
        !            96: #define MOU_ALLOWPTRDRAW       0x0050
        !            97: #define MOU_UPDATEDISPLAYMODE  0x0051
        !            98: #define MOU_SCREENSWITCH       0x0052
        !            99: #define MOU_SETSCALEFACTORS    0x0053
        !           100: #define MOU_SETEVENTMASK       0x0054
        !           101: #define MOU_SETHOTKEYBUTTON    0x0055
        !           102: #define MOU_SETPTRSHAPE                0x0056
        !           103: #define MOU_DRAWPTR            0x0057
        !           104: #define MOU_REMOVEPTR          0x0058
        !           105: #define MOU_SETPTRPOS          0x0059
        !           106: #define MOU_SETPROTDRAWADDRESS 0x005A
        !           107: #define MOU_SETREALDRAWADDRESS 0x005B
        !           108: #define MOU_SETMOUSTATUS       0x005C
        !           109: #define MOU_DISPLAYMODECHANGE  0x005D
        !           110: #define MOU_GETBUTTONCOUNT     0x0060
        !           111: #define MOU_GETMICKEYCOUNT     0x0061
        !           112: #define MOU_GETMOUSTATUS       0x0062
        !           113: #define MOU_READEVENTQUE       0x0063
        !           114: #define MOU_GETQUESTATUS       0x0064
        !           115: #define MOU_GETEVENTMASK       0x0065
        !           116: #define MOU_GETSCALEFACTORS    0x0066
        !           117: #define MOU_GETPTRPOS          0x0067
        !           118: #define MOU_GETPTRSHAPE                0x0068
        !           119: #define MOU_GETHOTKEYBUTTON    0x0069
        !           120: #define MOU_VER                        0x006A
        !           121: 
        !           122: /* Disk/Diskette Control */
        !           123: 
        !           124: #define DSK_LOCKDRIVE          0x0000
        !           125: #define DSK_UNLOCKDRIVE                0x0001
        !           126: #define DSK_REDETERMINEMEDIA   0x0002
        !           127: #define DSK_SETLOGICALMAP      0x0003
        !           128: #define DSK_BLOCKREMOVABLE     0x0020
        !           129: #define DSK_GETLOGICALMAP      0x0021
        !           130: #define DSK_SETDEVICEPARAMS    0x0043
        !           131: #define DSK_WRITETRACK         0x0044
        !           132: #define DSK_FORMATVERIFY       0x0045
        !           133: #define DSK_GETDEVICEPARAMS    0x0063
        !           134: #define DSK_READTRACK          0x0064
        !           135: #define DSK_VERIFYTRACK                0x0065
        !           136: 
        !           137: /* Physical-Disk Control */
        !           138: 
        !           139: #define PDSK_LOCKPHYSDRIVE             0x0000
        !           140: #define PDSK_UNLOCKPHYSDRIVE           0x0001
        !           141: #define PDSK_WRITEPHYSTRACK            0x0044
        !           142: #define PDSK_GETPHYSDEVICEPARAMS       0x0063
        !           143: #define PDSK_READPHYSTRACK             0x0064
        !           144: #define PDSK_VERIFYPHYSTRACK           0x0065
        !           145: 
        !           146: /* Character-Monitor Control */
        !           147: 
        !           148: #define MON_REGISTERMONITOR    0x0040
        !           149: 
        !           150: /* General Device Control */
        !           151: 
        !           152: #define DEV_FLUSHINPUT         0x0001
        !           153: #define DEV_FLUSHOUTPUT                0x0002
        !           154: #define DEV_QUERYMONSUPPORT    0x0060
        !           155: 
        !           156: 
        !           157: /* ASYNC_GETCOMMERROR, ASYNC_SETBREAKOFF, ASYNC_SETBREAKON,
        !           158:  * ASYNC_SETMODEMCTRL
        !           159:  */
        !           160: 
        !           161: #define RX_QUE_OVERRUN         0x0001
        !           162: #define RX_HARDWARE_OVERRUN    0x0002
        !           163: #define PARITY_ERROR           0x0004
        !           164: #define FRAMING_ERROR          0x0008
        !           165: 
        !           166: /* ASYNC_GETCOMMEVENT */
        !           167: 
        !           168: #define CHAR_RECEIVED  0x0001
        !           169: #define LAST_CHAR_SENT 0x0004
        !           170: #define CTS_CHANGED    0x0008
        !           171: #define DSR_CHANGED    0x0010
        !           172: #define DCD_CHANGED    0x0020
        !           173: #define BREAK_DETECTED 0x0040
        !           174: #define ERROR_OCCURRED 0x0080
        !           175: #define RI_DETECTED    0x0100
        !           176: 
        !           177: /* ASYNC_GETCOMMSTATUS */
        !           178: 
        !           179: #define TX_WAITING_FOR_CTS             0x0001
        !           180: #define TX_WAITING_FOR_DSR             0x0002
        !           181: #define TX_WAITING_FOR_DCD             0x0004
        !           182: #define TX_WAITING_FOR_XON             0x0008
        !           183: #define TX_WAITING_TO_SEND_XON         0x0010
        !           184: #define TX_WAITING_WHILE_BREAK_ON      0x0020
        !           185: #define TX_WAITING_TO_SEND_IMM         0x0040
        !           186: #define RX_WAITING_FOR_DSR             0x0080
        !           187: 
        !           188: /* ASYNC_GETLINESTATUS */
        !           189: 
        !           190: #define WRITE_REQUEST_QUEUED   0x0001
        !           191: #define DATA_IN_TX_QUE         0x0002
        !           192: #define HARDWARE_TRANSMITTING  0x0004
        !           193: #define CHAR_READY_TO_SEND_IMM 0x0008
        !           194: #define WAITING_TO_SEND_XON    0x0010
        !           195: #define WAITING_TO_SEND_XOFF   0x0020
        !           196: 
        !           197: /* ASYNC_GETMODEMINPUT */
        !           198: 
        !           199: #define CTS_ON 0x10
        !           200: #define DSR_ON 0x20
        !           201: #define RI_ON  0x40
        !           202: #define DCD_ON 0x80
        !           203: 
        !           204: /* DSK_SETDEVICEPARAMS */
        !           205: 
        !           206: #define BUILD_BPB_FROM_MEDIUM  0x00
        !           207: #define REPLACE_BPB_FOR_DEVICE 0x01
        !           208: #define REPLACE_BPB_FOR_MEDIUM 0x02
        !           209: 
        !           210: /* KBD_GETINPUTMODE, KBD_PEEKCHAR, KBD_SETINPUTMODE*/
        !           211: 
        !           212: #define ASCII_MODE  0x00
        !           213: #define BINARY_MODE 0x80
        !           214: 
        !           215: /* KBD_GETINTERIMFLAG */
        !           216: 
        !           217: #define CONVERSION_REQUEST     0x20
        !           218: #define INTERIM_CHAR           0x80
        !           219: 
        !           220: /* KBD_GETSESMGRHOTKEY */
        !           221: 
        !           222: #define HOTKEY_MAX_COUNT       0x0000
        !           223: #define HOTKEY_CURRENT_COUNT   0x0001
        !           224: 
        !           225: /* KBD_PEEKCHAR */
        !           226: 
        !           227: #define KBD_DATA_RECEIVED      0x0001
        !           228: #define KBD_DATA_BINARY                0x8000
        !           229: 
        !           230: /* KBD_READCHAR */
        !           231: 
        !           232: #define KBD_READ_WAIT  0x0000
        !           233: #define KBD_READ_NOWAIT 0x8000
        !           234: 
        !           235: /* KBD_SETINPUTMODE */
        !           236: 
        !           237: #define SHIFT_REPORT_MODE  0x01
        !           238: 
        !           239: #ifndef INCL_MOU
        !           240: 
        !           241: #define MOUSE_MOTION                   0x0001
        !           242: #define MOUSE_MOTION_WITH_BN1_DOWN     0x0002
        !           243: #define MOUSE_BN1_DOWN                 0x0004
        !           244: #define MOUSE_MOTION_WITH_BN2_DOWN     0x0008
        !           245: #define MOUSE_BN2_DOWN                 0x0010
        !           246: #define MOUSE_MOTION_WITH_BN3_DOWN     0x0020
        !           247: #define MOUSE_BN3_DOWN                 0x0040
        !           248: 
        !           249: #define MHK_BUTTON1    0x0001
        !           250: #define MHK_BUTTON2    0x0002
        !           251: #define MHK_BUTTON3    0x0004
        !           252: 
        !           253: #define MOU_NOWAIT     0x0000
        !           254: #define MOU_WAIT       0x0001
        !           255: 
        !           256: #endif /* #ifndef INCL_MOU */
        !           257: 
        !           258: /* MOU_GETHOTKEYBUTTON, MOU_SETHOTKEYBUTTON */
        !           259: 
        !           260: #define MHK_NO_HOTKEY  0x0000
        !           261: 
        !           262: /* MOU_GETMOUSTATUS */
        !           263: 
        !           264: #define MOUSE_QUEUEBUSY                0x0001
        !           265: #define MOUSE_BLOCKREAD                0x0002
        !           266: #define MOUSE_FLUSH            0x0004
        !           267: #define MOUSE_UNSUPPORTED_MODE 0x0008
        !           268: #define MOUSE_DISABLED         0x0100
        !           269: #define MOUSE_MICKEYS          0x0200
        !           270: 
        !           271: /* PRT_GETPRINTERSTATUS */
        !           272: 
        !           273: #define PRINTER_TIMEOUT                0x0001
        !           274: #define PRINTER_IO_ERROR       0x0008
        !           275: #define PRINTER_SELECTED       0x0010
        !           276: #define PRINTER_OUT_OF_PAPER   0x0020
        !           277: #define PRINTER_ACKNOWLEDGED   0x0040
        !           278: #define PRINTER_NOT_BUSY       0x0080
        !           279: 
        !           280: /* fbCtlHndShake */
        !           281: 
        !           282: #define MODE_DTR_CONTROL       0x01
        !           283: #define MODE_DTR_HANDSHAKE     0x02
        !           284: #define MODE_CTS_HANDSHAKE     0x08
        !           285: #define MODE_DSR_HANDSHAKE     0x10
        !           286: #define MODE_DCD_HANDSHAKE     0x20
        !           287: #define MODE_DSR_SENSITIVITY   0x40
        !           288: 
        !           289: /* fbFlowReplace */
        !           290: 
        !           291: #define MODE_AUTO_TRANSMIT     0x01
        !           292: #define MODE_AUTO_RECEIVE      0x02
        !           293: #define MODE_ERROR_CHAR                0x04
        !           294: #define MODE_NULL_STRIPPING    0x08
        !           295: #define MODE_BREAK_CHAR                0x10
        !           296: #define MODE_RTS_CONTROL       0x40
        !           297: #define MODE_RTS_HANDSHAKE     0x80
        !           298: #define MODE_TRANSMIT_TOGGLE   0xC0
        !           299: 
        !           300: /* fbTimeout */
        !           301: 
        !           302: #define MODE_NO_WRITE_TIMEOUT          0x01
        !           303: #define MODE_READ_TIMEOUT              0x02
        !           304: #define MODE_WAIT_READ_TIMEOUT         0x04
        !           305: #define MODE_NOWAIT_READ_TIMEOUT       0x06
        !           306: 
        !           307: typedef struct _DCBINFO {      /* dcbinf */
        !           308:        USHORT usWriteTimeout;
        !           309:        USHORT usReadTimeout;
        !           310:        BYTE   fbCtlHndShake;
        !           311:        BYTE   fbFlowReplace;
        !           312:        BYTE   fbTimeout;
        !           313:        BYTE   bErrorReplacementChar;
        !           314:        BYTE   bBreakReplacementChar;
        !           315:        BYTE   bXONChar;
        !           316:        BYTE   bXOFFChar;
        !           317: } DCBINFO;
        !           318: typedef DCBINFO FAR *PDCBINFO;
        !           319: 
        !           320: typedef struct _TRACKLAYOUT {  /* trckl */
        !           321:        BYTE   bCommand;
        !           322:        USHORT usHead;
        !           323:        USHORT usCylinder;
        !           324:        USHORT usFirstSector;
        !           325:        USHORT cSectors;
        !           326:        struct {
        !           327:                USHORT usSectorNumber;
        !           328:                USHORT usSectorSize;
        !           329:        } TrackTable[1];
        !           330: } TRACKLAYOUT;
        !           331: typedef TRACKLAYOUT FAR *PTRACKLAYOUT;
        !           332: 
        !           333: #define DEVTYPE_48TPI  0x0000
        !           334: #define DEVTYPE_96TPI  0x0001
        !           335: #define DEVTYPE_35     0x0002
        !           336: #define DEVTYPE_8SD    0x0003
        !           337: #define DEVTYPE_8DD    0x0004
        !           338: #define DEVTYPE_FIXED  0x0005
        !           339: #define DEVTYPE_TAPE   0x0006
        !           340: #define DEVTYPE_UNKNOWN 0x0007
        !           341: 
        !           342: typedef struct _BIOSPARAMETERBLOCK {   /* bspblk */
        !           343:        USHORT usBytesPerSector;
        !           344:        BYTE   bSectorsPerCluster;
        !           345:        USHORT usReservedSectors;
        !           346:        BYTE   cFATs;
        !           347:        USHORT cRootEntries;
        !           348:        USHORT cSectors;
        !           349:        BYTE   bMedia;
        !           350:        USHORT usSectorsPerFAT;
        !           351:        USHORT usSectorsPerTrack;
        !           352:        USHORT cHeads;
        !           353:        ULONG  cHiddenSectors;
        !           354:        ULONG  cLargeSectors;
        !           355:        BYTE   abReserved[6];
        !           356:        USHORT cCylinders;
        !           357:        BYTE   bDeviceType;
        !           358:        USHORT fsDeviceAttr;
        !           359: } BIOSPARAMETERBLOCK;
        !           360: typedef BIOSPARAMETERBLOCK FAR *PBIOSPARAMETERBLOCK;
        !           361: 
        !           362: typedef struct _SCREENGROUP {  /* scrgrp */
        !           363:        USHORT idScreenGrp;
        !           364:        USHORT fTerminate;
        !           365: } SCREENGROUP;
        !           366: typedef SCREENGROUP FAR *PSCREENGROUP;
        !           367: 
        !           368: typedef struct _FRAME {                /* frm */
        !           369:        BYTE bCharsPerLine;
        !           370:        BYTE bLinesPerInch;
        !           371: } FRAME;
        !           372: typedef FRAME FAR *PFRAME;
        !           373: 
        !           374: typedef struct _KBDTYPE {      /* kbdtyp */
        !           375:        USHORT usType;
        !           376:        USHORT reserved1;
        !           377:        USHORT reserved2;
        !           378: } KBDTYPE;
        !           379: typedef KBDTYPE FAR *PKBDTYPE;
        !           380: 
        !           381: typedef struct _LINECONTROL {  /* lnctl */
        !           382:        BYTE bDataBits;
        !           383:        BYTE bParity;
        !           384:        BYTE bStopBits;
        !           385:        BYTE fTransBreak;
        !           386: } LINECONTROL;
        !           387: typedef LINECONTROL FAR *PLINECONTROL;
        !           388: 
        !           389: /* MODEMSTATUS.fbModemOn, ASYNC_GETMODEMOUTPUT */
        !           390: 
        !           391: #define DTR_ON 0x01
        !           392: #define RTS_ON 0x02
        !           393: 
        !           394: /* MODEMSTATUS.fbModemOff */
        !           395: 
        !           396: #define DTR_OFF         0xFE
        !           397: #define RTS_OFF         0xFD
        !           398: 
        !           399: typedef struct _MODEMSTATUS {  /* mdmst */
        !           400:        BYTE fbModemOn;
        !           401:        BYTE fbModemOff;
        !           402: } MODEMSTATUS;
        !           403: typedef MODEMSTATUS FAR *PMODEMSTATUS;
        !           404: 
        !           405: typedef struct _TRACKFORMAT {  /* trckfmt */
        !           406:        BYTE bCommand;
        !           407:        USHORT usHead;
        !           408:        USHORT usCylinder;
        !           409:        USHORT usReserved;
        !           410:        USHORT cSectors;
        !           411:        struct {
        !           412:                BYTE bCylinder;
        !           413:                BYTE bHead;
        !           414:                BYTE idSector;
        !           415:                BYTE bBytesSector;
        !           416:        } FormatTable[1];
        !           417: } TRACKFORMAT;
        !           418: typedef TRACKFORMAT FAR *PTRACKFORMAT;
        !           419: 
        !           420: typedef struct _RXQUEUE {      /* rxq */
        !           421:        USHORT cch;
        !           422:        USHORT cb;
        !           423: } RXQUEUE;
        !           424: typedef RXQUEUE FAR *PRXQUEUE;
        !           425: 
        !           426: typedef struct _DEVICEPARAMETERBLOCK { /* dvpblck */
        !           427:        USHORT reserved1;
        !           428:        USHORT cCylinders;
        !           429:        USHORT cHeads;
        !           430:        USHORT cSectorsPerTrack;
        !           431:        USHORT reserved2;
        !           432:        USHORT reserved3;
        !           433:        USHORT reserved4;
        !           434:        USHORT reserved5;
        !           435: } DEVICEPARAMETERBLOCK;
        !           436: typedef DEVICEPARAMETERBLOCK FAR *PDEVICEPARAMETERBLOCK;
        !           437: 
        !           438: typedef struct _PTRDRAWFUNCTION {      /* ptrdfnc */
        !           439:        USHORT usReturnCode;
        !           440:        PFN pfnDraw;
        !           441:        PCH pchDataSeg;
        !           442: } PTRDRAWFUNCTION;
        !           443: typedef PTRDRAWFUNCTION FAR *PPTRDRAWFUNCTION;
        !           444: 
        !           445: typedef struct _PTRDRAWADDRESS {       /* ptrdaddr */
        !           446:        USHORT reserved;
        !           447:        PTRDRAWFUNCTION ptrdfnc;
        !           448: } PTRDRAWADDRESS;
        !           449: typedef PTRDRAWADDRESS FAR *PPTRDRAWADDRESS;
        !           450: 
        !           451: typedef struct _SHIFTSTATE {   /* shftst */
        !           452:        USHORT fsState;
        !           453:        BYTE   fNLS;
        !           454: } SHIFTSTATE;
        !           455: typedef SHIFTSTATE FAR *PSHIFTSTATE;
        !           456: 
        !           457: /* HOTKEY.fsHotKey/SHIFTSTATE.fsState */
        !           458: 
        !           459: #define RIGHTSHIFT     0x0001
        !           460: #define LEFTSHIFT      0x0002
        !           461: #define CONTROL                0x0004
        !           462: #define ALT            0x0008
        !           463: #define SCROLLLOCK_ON  0x0010
        !           464: #define NUMLOCK_ON     0x0020
        !           465: #define CAPSLOCK_ON    0x0040
        !           466: #define INSERT_ON      0x0080
        !           467: #define LEFTCONTROL    0x0100
        !           468: #define LEFTALT                0x0200
        !           469: #define RIGHTCONTROL   0x0400
        !           470: #define RIGHTALT       0x0800
        !           471: #define SCROLLLOCK     0x1000
        !           472: #define NUMLOCK                0x2000
        !           473: #define CAPSLOCK       0x4000
        !           474: #define SYSREQ         0x8000
        !           475: 
        !           476: typedef struct _HOTKEY {       /* htky */
        !           477:        USHORT fsHotKey;
        !           478:        UCHAR  uchScancodeMake;
        !           479:        UCHAR  uchScancodeBreak;
        !           480:        USHORT idHotKey;
        !           481: } HOTKEY;
        !           482: typedef HOTKEY FAR *PHOTKEY;
        !           483: 
        !           484: typedef struct _MONITORPOSITION {      /* mnpos */
        !           485:        USHORT fPosition;
        !           486:        USHORT index;
        !           487:        ULONG  pbInBuf;
        !           488:        USHORT offOutBuf;
        !           489: } MONITORPOSITION;
        !           490: typedef MONITORPOSITION FAR *PMONITORPOSITION;
        !           491: 
        !           492: typedef struct _RATEDELAY {    /* rtdly */
        !           493:        USHORT usDelay;
        !           494:        USHORT usRate;
        !           495: } RATEDELAY;
        !           496: typedef RATEDELAY FAR *PRATEDELAY;
        !           497: 
        !           498: typedef struct _CODEPAGEINFO { /* cpi */
        !           499:        PBYTE pbTransTable;
        !           500:        USHORT idCodePage;
        !           501:        USHORT idTable;
        !           502: } CODEPAGEINFO;
        !           503: typedef FAR *PCODEPAGEINFO;
        !           504: 
        !           505: typedef struct _CPID { /* cpid */
        !           506:        USHORT idCodePage;
        !           507:        USHORT Reserved;
        !           508: } CPID;
        !           509: typedef FAR *PCPID;
        !           510: 
        !           511: typedef struct _LDTADDRINFO {  /* ldtaddr */
        !           512:        PULONG pulPhysAddr;
        !           513:        USHORT cb;
        !           514: } LDTADDRINFO;
        !           515: typedef FAR *PLDTADDRINFO;
        !           516: 
        !           517: typedef struct _PTRDRAWDATA {  /* ptrdd */
        !           518:        USHORT cb;
        !           519:        USHORT usConfig;
        !           520:        USHORT usFlag;
        !           521: } PTRDRAWDATA;
        !           522: typedef FAR *PPTRDRAWDATA;

unix.superglobalmegacorp.com

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