Annotation of pmsdk/include/bsesub.h, revision 1.1

1.1     ! root        1: /***************************************************************************\
        !             2: *
        !             3: * Module Name: BSESUB.H
        !             4: *
        !             5: * OS/2 Base Include File
        !             6: *
        !             7: * Copyright (c) 1987  Microsoft Corporation
        !             8: * Copyright (c) 1987  IBM Corporation
        !             9: *
        !            10: *****************************************************************************
        !            11: *
        !            12: * Subcomponents marked with "+" are partially included by default
        !            13: *   #define:                To include:
        !            14: *
        !            15: *   INCL_KBD                KBD
        !            16: *   INCL_VIO                VIO
        !            17: *   INCL_MOU                MOU
        !            18: *
        !            19: \***************************************************************************/
        !            20: 
        !            21: #ifdef INCL_SUB
        !            22: 
        !            23: #define INCL_KBD
        !            24: #define INCL_VIO
        !            25: #define INCL_MOU
        !            26: 
        !            27: #endif /* INCL_SUB */
        !            28: 
        !            29: #ifdef INCL_KBD
        !            30: 
        !            31: typedef SHANDLE         HKBD;
        !            32: typedef HKBD    far *   PHKBD;
        !            33: 
        !            34: USHORT APIENTRY KbdRegister (PSZ, PSZ, ULONG);
        !            35: 
        !            36: #define KR_KBDCHARIN        0x00000001
        !            37: #define KR_KBDPEEK          0x00000002
        !            38: #define KR_KBDFLUSHBUFFER   0x00000004
        !            39: #define KR_KBDGETSTATUS     0x00000008
        !            40: #define KR_KBDSETSTATUS     0x00000010
        !            41: #define KR_KBDSTRINGIN      0x00000020
        !            42: #define KR_KBDOPEN          0x00000040
        !            43: #define KR_KBDCLOSE         0x00000080
        !            44: #define KR_KBDGETFOCUS      0x00000100
        !            45: #define KR_KBDFREEFOCUS     0x00000200
        !            46: #define KR_KBDGETCP         0x00000400
        !            47: #define KR_KBDSETCP         0x00000800
        !            48: #define KR_KBDXLATE         0x00001000
        !            49: #define KR_KBDSETCUSTXT     0x00002000
        !            50: 
        !            51: #define IO_WAIT     0
        !            52: #define IO_NOWAIT   1
        !            53: 
        !            54: USHORT APIENTRY KbdDeRegister ( void );
        !            55: 
        !            56: /* KBDKEYINFO structure, for KbdCharIn and KbdPeek */
        !            57: 
        !            58: typedef struct _KBDKEYINFO {    /* kbci */
        !            59:         UCHAR    chChar;
        !            60:         UCHAR    chScan;
        !            61:         UCHAR    fbStatus;
        !            62:         UCHAR    bNlsShift;
        !            63:         USHORT   fsState;
        !            64:         ULONG    time;
        !            65:         }KBDKEYINFO;
        !            66: typedef KBDKEYINFO far *PKBDKEYINFO;
        !            67: 
        !            68: USHORT APIENTRY KbdCharIn ( PKBDKEYINFO, USHORT, HKBD );
        !            69: USHORT APIENTRY KbdPeek ( PKBDKEYINFO, HKBD );
        !            70: 
        !            71: /* structure for KbdStringIn() */
        !            72: 
        !            73: typedef struct _STRINGINBUF {   /* kbsi */
        !            74:         USHORT cb;
        !            75:         USHORT cchIn;
        !            76:         } STRINGINBUF;
        !            77: typedef STRINGINBUF far *PSTRINGINBUF;
        !            78: 
        !            79: USHORT APIENTRY KbdStringIn ( PCH, PSTRINGINBUF, USHORT, HKBD );
        !            80: 
        !            81: USHORT APIENTRY KbdFlushBuffer ( HKBD );
        !            82: 
        !            83: /* KBDINFO structure, for KbdSet/GetStatus */
        !            84: typedef struct _KBDINFO {       /* kbst */
        !            85:         USHORT cb;
        !            86:         USHORT fsMask;
        !            87:         USHORT chTurnAround;
        !            88:         USHORT fsInterim;
        !            89:         USHORT fsState;
        !            90:         }KBDINFO;
        !            91: typedef KBDINFO far *PKBDINFO;
        !            92: 
        !            93: USHORT APIENTRY KbdSetStatus ( PKBDINFO, HKBD );
        !            94: USHORT APIENTRY KbdGetStatus ( PKBDINFO, HKBD );
        !            95: 
        !            96: USHORT APIENTRY KbdSetCp ( USHORT, USHORT, HKBD);
        !            97: USHORT APIENTRY KbdGetCp ( ULONG, PUSHORT, HKBD );
        !            98: 
        !            99: USHORT APIENTRY KbdOpen ( PHKBD );
        !           100: USHORT APIENTRY KbdClose ( HKBD );
        !           101: 
        !           102: USHORT APIENTRY KbdGetFocus ( USHORT, HKBD );
        !           103: USHORT APIENTRY KbdFreeFocus ( HKBD );
        !           104: 
        !           105: USHORT APIENTRY KbdSynch ( USHORT );
        !           106: 
        !           107: /* structure for KbdXlate() */
        !           108: typedef struct _KBDXLATE {      /* kbxl */
        !           109:         UCHAR      chChar;
        !           110:         UCHAR      chScan;
        !           111:         UCHAR      fbStatus;
        !           112:         UCHAR      bNlsShift;
        !           113:         USHORT     fsState;
        !           114:         ULONG      time;
        !           115:         USHORT     fsDD;
        !           116:         USHORT     fsXlate;
        !           117:         USHORT     fsShift;
        !           118:         USHORT     sZero;
        !           119:         } KBDXLATE;
        !           120: typedef KBDXLATE far *PKBDXLATE;
        !           121: 
        !           122: USHORT APIENTRY KbdXlate ( PKBDXLATE, HKBD );
        !           123: USHORT APIENTRY KbdSetCustXt ( PUSHORT, HKBD );
        !           124: 
        !           125: #endif /* INCL_KBD */
        !           126: 
        !           127: #ifdef INCL_VIO
        !           128: 
        !           129: typedef SHANDLE         HVIO;
        !           130: typedef HVIO    far *   PHVIO;
        !           131: 
        !           132: USHORT APIENTRY VioRegister ( PSZ, PSZ, ULONG, ULONG );
        !           133: 
        !           134: USHORT APIENTRY VioDeRegister ( void );
        !           135: 
        !           136: USHORT APIENTRY VioGetBuf ( PULONG, PUSHORT, HVIO );
        !           137: 
        !           138: USHORT APIENTRY VioGetCurPos ( PUSHORT, PUSHORT, HVIO );
        !           139: USHORT APIENTRY VioSetCurPos ( USHORT, USHORT, HVIO );
        !           140: 
        !           141: /* structure for VioSet/GetCurType() */
        !           142: typedef struct _VIOCURSORINFO { /* vioci */
        !           143:         USHORT   yStart;
        !           144:         USHORT   cEnd;
        !           145:         USHORT   cx;
        !           146:         USHORT   attr;
        !           147:         } VIOCURSORINFO;
        !           148: typedef VIOCURSORINFO FAR *PVIOCURSORINFO;
        !           149: 
        !           150: USHORT APIENTRY VioGetCurType ( PVIOCURSORINFO, HVIO );
        !           151: USHORT APIENTRY VioSetCurType ( PVIOCURSORINFO, HVIO );
        !           152: 
        !           153: /* structure for VioSet/GetMode() */
        !           154: typedef struct _VIOMODEINFO {   /* viomi */
        !           155:         USHORT cb;
        !           156:         UCHAR  fbType;
        !           157:         UCHAR  color;
        !           158:         USHORT col;
        !           159:         USHORT row;
        !           160:         USHORT hres;
        !           161:         USHORT vres;
        !           162:         UCHAR  fmt_ID;
        !           163:         UCHAR  attrib;
        !           164:         } VIOMODEINFO;
        !           165: typedef VIOMODEINFO FAR *PVIOMODEINFO;
        !           166: 
        !           167: #define VGMT_OTHER          0x01
        !           168: #define VGMT_GRAPHICS       0x02
        !           169: #define VGMT_DISABLEBURST   0x04
        !           170: 
        !           171: USHORT APIENTRY VioGetMode ( PVIOMODEINFO, HVIO );
        !           172: USHORT APIENTRY VioSetMode ( PVIOMODEINFO, HVIO );
        !           173: 
        !           174: /* structure for VioGetPhysBuf() */
        !           175: 
        !           176: typedef struct _VIOPHYSBUF {    /* viopb */
        !           177:         PBYTE    pBuf;
        !           178:         ULONG    cb;
        !           179:         SEL      asel[1];
        !           180:         } VIOPHYSBUF;
        !           181: typedef VIOPHYSBUF far *PVIOPHYSBUF;
        !           182: 
        !           183: USHORT APIENTRY VioGetPhysBuf ( PVIOPHYSBUF, USHORT );
        !           184: 
        !           185: USHORT APIENTRY VioReadCellStr ( PCH, PUSHORT, USHORT, USHORT, HVIO );
        !           186: USHORT APIENTRY VioReadCharStr ( PCH, PUSHORT, USHORT, USHORT, HVIO );
        !           187: USHORT APIENTRY VioWrtCellStr ( PCH, USHORT, USHORT, USHORT, HVIO );
        !           188: USHORT APIENTRY VioWrtCharStr ( PCH, USHORT, USHORT, USHORT, HVIO );
        !           189: 
        !           190: USHORT APIENTRY VioScrollDn ( USHORT, USHORT, USHORT, USHORT,
        !           191:                               USHORT, PBYTE,  HVIO );
        !           192: USHORT APIENTRY VioScrollUp ( USHORT, USHORT, USHORT, USHORT,
        !           193:                               USHORT, PBYTE,  HVIO );
        !           194: USHORT APIENTRY VioScrollLf ( USHORT, USHORT, USHORT, USHORT,
        !           195:                               USHORT, PBYTE,  HVIO );
        !           196: USHORT APIENTRY VioScrollRt ( USHORT, USHORT, USHORT, USHORT,
        !           197:                               USHORT, PBYTE,  HVIO );
        !           198: 
        !           199: USHORT APIENTRY VioWrtNAttr ( PBYTE, USHORT, USHORT, USHORT, HVIO );
        !           200: USHORT APIENTRY VioWrtNCell ( PBYTE, USHORT, USHORT, USHORT, HVIO );
        !           201: USHORT APIENTRY VioWrtNChar ( PCH, USHORT, USHORT, USHORT, HVIO );
        !           202: USHORT APIENTRY VioWrtTTY ( PCH, USHORT, HVIO );
        !           203: USHORT APIENTRY VioWrtCharStrAtt ( PCH, USHORT, USHORT, USHORT, PBYTE, HVIO );
        !           204: 
        !           205: USHORT APIENTRY VioShowBuf ( USHORT, USHORT, HVIO );
        !           206: 
        !           207: 
        !           208: #define ANSI_ON     1
        !           209: #define ANSI_OFF    0
        !           210: 
        !           211: USHORT APIENTRY VioSetAnsi ( USHORT, HVIO );
        !           212: USHORT APIENTRY VioGetAnsi ( PUSHORT, HVIO );
        !           213: 
        !           214: USHORT APIENTRY VioPrtSc ( HVIO );
        !           215: USHORT APIENTRY VioPrtScToggle ( HVIO );
        !           216: 
        !           217: #define VSRWI_SAVEANDREDRAW  0
        !           218: #define VSRWI_REDRAW         1
        !           219: 
        !           220: #define VSRWN_SAVE           0
        !           221: #define VSRWN_REDRAW         1
        !           222: 
        !           223: #define UNDOI_GETOWNER          0
        !           224: #define UNDOI_RELEASEOWNER      1
        !           225: 
        !           226: #define UNDOK_ERRORCODE         0
        !           227: #define UNDOK_TERMINATE         1
        !           228: 
        !           229: USHORT APIENTRY VioRedrawSize ( PULONG );
        !           230: USHORT APIENTRY VioSavRedrawWait ( USHORT, PUSHORT, USHORT);
        !           231: USHORT APIENTRY VioSavRedrawUndo ( USHORT, USHORT, USHORT );
        !           232: 
        !           233: #define VMWR_POPUP  0
        !           234: #define VMWN_POPUP  0
        !           235: 
        !           236: USHORT APIENTRY VioModeWait ( USHORT, PUSHORT, USHORT );
        !           237: USHORT APIENTRY VioModeUndo ( USHORT, USHORT, USHORT );
        !           238: 
        !           239: #define LOCKIO_NOWAIT   0
        !           240: #define LOCKIO_WAIT     1
        !           241: 
        !           242: #define LOCK_SUCCESS    0
        !           243: #define LOCK_FAIL       1
        !           244: 
        !           245: USHORT APIENTRY VioScrLock ( USHORT, PUCHAR, HVIO );
        !           246: USHORT APIENTRY VioScrUnLock ( HVIO );
        !           247: 
        !           248: #define VP_NOWAIT       0x0000
        !           249: #define VP_WAIT         0x0001
        !           250: #define VP_OPAQUE       0x0000
        !           251: #define VP_TRANSPARENT  0x0002
        !           252: 
        !           253: USHORT APIENTRY VioPopUp ( PUSHORT, HVIO ); /* !!! doesn't match documentation */
        !           254: USHORT APIENTRY VioEndPopUp ( HVIO );
        !           255: 
        !           256: /* structure for VioGetConfig() */
        !           257: 
        !           258: typedef struct _VIOCONFIGINFO { /* vioin */
        !           259:         USHORT  cb     ;
        !           260:         USHORT  adapter;
        !           261:         USHORT  display;
        !           262:         ULONG   cbMemory;
        !           263:         } VIOCONFIGINFO;
        !           264: typedef VIOCONFIGINFO far *PVIOCONFIGINFO;
        !           265: 
        !           266: USHORT APIENTRY VioGetConfig ( USHORT, PVIOCONFIGINFO, HVIO );
        !           267: 
        !           268: /* structure for VioGet/SetFont() */
        !           269: typedef struct _VIOFONTINFO {   /* viofi */
        !           270:         USHORT  cb;
        !           271:         USHORT  type;
        !           272:         USHORT  cxCell;
        !           273:         USHORT  cyCell;
        !           274:         PVOID   pbData;
        !           275:         USHORT  cbData;
        !           276:         } VIOFONTINFO;
        !           277: typedef VIOFONTINFO far *PVIOFONTINFO;
        !           278: 
        !           279: #define VGFI_GETCURFONT     0
        !           280: #define VGFI_GETROMFONT     1
        !           281: 
        !           282: USHORT APIENTRY VioGetFont ( PVIOFONTINFO, HVIO );
        !           283: USHORT APIENTRY VioSetFont ( PVIOFONTINFO, HVIO );
        !           284: 
        !           285: USHORT APIENTRY VioGetCp ( USHORT, PUSHORT, HVIO );
        !           286: USHORT APIENTRY VioSetCp ( USHORT, USHORT, HVIO );
        !           287: 
        !           288: typedef struct _VIOPALSTATE {   /* viopal */
        !           289:         USHORT  cb;
        !           290:         USHORT  type;
        !           291:         USHORT  iFirst;
        !           292:         USHORT  acolor[1];
        !           293:         }VIOPALSTATE;
        !           294: typedef VIOPALSTATE far *PVIOPALSTATE;
        !           295: 
        !           296: typedef struct _VIOOVERSCAN {   /* vioos */
        !           297:         USHORT  cb;
        !           298:         USHORT  type;
        !           299:         USHORT  color;
        !           300:         }VIOOVERSCAN;
        !           301: typedef VIOOVERSCAN far *PVIOOVERSCAN;
        !           302: 
        !           303: typedef struct _VIOINTENSITY {  /* vioint */
        !           304:         USHORT  cb;
        !           305:         USHORT  type;
        !           306:         USHORT  fs;
        !           307:         }VIOINTENSITY;
        !           308: typedef VIOINTENSITY far *PVIOINTENSITY;
        !           309: 
        !           310: USHORT APIENTRY VioGetState ( PVOID, HVIO );
        !           311: USHORT APIENTRY VioSetState ( PVOID, HVIO );
        !           312: 
        !           313: #endif /* INCL_VIO */
        !           314: 
        !           315: #ifdef INCL_MOU
        !           316: 
        !           317: typedef SHANDLE         HMOU;
        !           318: typedef HMOU    far *   PHMOU;
        !           319: 
        !           320: USHORT APIENTRY MouRegister ( PSZ, PSZ, ULONG );
        !           321: 
        !           322: USHORT APIENTRY MouDeRegister ( void );
        !           323: 
        !           324: USHORT APIENTRY MouFlushQue ( HMOU );
        !           325: 
        !           326: #define MHK_BUTTON1         0x0001
        !           327: #define MHK_BUTTON2         0x0002
        !           328: #define MHK_BUTTON3         0x0004
        !           329: 
        !           330: USHORT APIENTRY MouGetHotKey ( PUSHORT, HMOU );
        !           331: USHORT APIENTRY MouSetHotKey ( PUSHORT, HMOU );
        !           332: 
        !           333: /* structure for MouGet/SetPtrPos() */
        !           334: typedef struct _PTRLOC {    /* moupl */
        !           335:         USHORT row;
        !           336:         USHORT col;
        !           337:         } PTRLOC;
        !           338: typedef PTRLOC far *PPTRLOC;
        !           339: 
        !           340: USHORT APIENTRY MouGetPtrPos ( PPTRLOC, HMOU );
        !           341: USHORT APIENTRY MouSetPtrPos ( PPTRLOC, HMOU );
        !           342: 
        !           343: /* structure for MouGet/SetPtrShape() */
        !           344: typedef struct _PTRSHAPE {  /* moups */
        !           345:         USHORT cb;
        !           346:         USHORT col;
        !           347:         USHORT row;
        !           348:         USHORT colHot;
        !           349:         USHORT rowHot;
        !           350:         } PTRSHAPE;
        !           351: typedef PTRSHAPE far *PPTRSHAPE;
        !           352: 
        !           353: USHORT APIENTRY MouSetPtrShape ( PBYTE, PPTRSHAPE, HMOU );
        !           354: USHORT APIENTRY MouGetPtrShape ( PBYTE, PPTRSHAPE, HMOU );
        !           355: 
        !           356: USHORT APIENTRY MouGetDevStatus ( PUSHORT, HMOU );
        !           357: 
        !           358: USHORT APIENTRY MouGetNumButtons ( PUSHORT, HMOU );
        !           359: USHORT APIENTRY MouGetNumMickeys ( PUSHORT, HMOU );
        !           360: 
        !           361: /* structure for MouReadEventQue() */
        !           362: typedef struct _MOUEVENTINFO {  /* mouev */
        !           363:         USHORT fs;
        !           364:         ULONG  time;
        !           365:         USHORT row;
        !           366:         USHORT col;
        !           367:         }MOUEVENTINFO;
        !           368: typedef MOUEVENTINFO far *PMOUEVENTINFO;
        !           369: 
        !           370: USHORT APIENTRY MouReadEventQue ( PMOUEVENTINFO, PUSHORT, HMOU );
        !           371: 
        !           372: /* structure for MouGetNumQueEl() */
        !           373: typedef struct _MOUQUEINFO {    /* mouqi */
        !           374:         USHORT cEvents;
        !           375:         USHORT cmaxEvents;
        !           376:         } MOUQUEINFO;
        !           377: typedef MOUQUEINFO far *PMOUQUEINFO;
        !           378: 
        !           379: USHORT APIENTRY MouGetNumQueEl ( PMOUQUEINFO, HMOU );
        !           380: 
        !           381: USHORT APIENTRY MouGetEventMask ( PUSHORT, HMOU );
        !           382: USHORT APIENTRY MouSetEventMask ( PUSHORT, HMOU );
        !           383: 
        !           384: /* structure for MouGet/SetScaleFact() */
        !           385: typedef struct _SCALEFACT { /* mousc */
        !           386:         USHORT rowScale;
        !           387:         USHORT colScale;
        !           388:         } SCALEFACT;
        !           389: typedef SCALEFACT far *PSCALEFACT;
        !           390: 
        !           391: USHORT APIENTRY MouGetScaleFact ( PSCALEFACT, HMOU );
        !           392: USHORT APIENTRY MouSetScaleFact ( PSCALEFACT, HMOU );
        !           393: 
        !           394: USHORT APIENTRY MouOpen ( PSZ, PHMOU );
        !           395: USHORT APIENTRY MouClose ( HMOU );
        !           396: 
        !           397: /* structure for MouRemovePtr() */
        !           398: typedef struct _NOPTRRECT { /* mourt */
        !           399:         USHORT row;
        !           400:         USHORT col;
        !           401:         USHORT cRow;    /* spec says this is a coordinate, not a cx */
        !           402:         USHORT cCol;
        !           403:         } NOPTRRECT;
        !           404: typedef NOPTRRECT far *PNOPTRRECT;
        !           405: 
        !           406: USHORT APIENTRY MouRemovePtr ( PNOPTRRECT, HMOU );
        !           407: 
        !           408: USHORT APIENTRY MouDrawPtr ( HMOU );
        !           409: 
        !           410: #define MOU_NODRAW      0x0001
        !           411: #define MOU_DRAW        0x0000
        !           412: #define MOU_MICKEYS     0x0002
        !           413: #define MOU_PELS        0x0000
        !           414: 
        !           415: USHORT APIENTRY MouSetDevStatus ( PUSHORT, HMOU );
        !           416: USHORT APIENTRY MouInitReal ( PSZ );
        !           417: 
        !           418: #endif /* INCL_MOU */

unix.superglobalmegacorp.com

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