|
|
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.