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