Annotation of pmsdk/include/bsesub.h, revision 1.1.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.