1 | /* $Id: os2newapi.h,v 1.3 2000-03-11 00:00:04 sandervl Exp $ */
|
---|
2 | /*
|
---|
3 | *
|
---|
4 | * Project Odin Software License can be found in LICENSE.TXT
|
---|
5 | *
|
---|
6 | */
|
---|
7 | #ifndef __OS2NEWAPI_H__
|
---|
8 | #define __OS2NEWAPI_H__
|
---|
9 |
|
---|
10 | #ifdef __cplusplus
|
---|
11 | extern "C" {
|
---|
12 | #endif
|
---|
13 |
|
---|
14 | #ifdef INCL_WIN
|
---|
15 | #ifdef INCL_WINMESSAGEMGR
|
---|
16 | BOOL APIENTRY WinThreadAssocQueue(HAB hab, HMQ hmq);
|
---|
17 | BOOL APIENTRY WinWakeThread(HMQ hmq);
|
---|
18 | BOOL APIENTRY WinReplyMsg(HAB hab, HMQ hmqSender, HMQ hmqReceiver, MRESULT mresult);
|
---|
19 | HMQ APIENTRY WinQueueFromID(HAB hab, PID pid, TID tid);
|
---|
20 | BOOL APIENTRY WinQueryQueueInfo(HMQ hmq, PMQINFO pmqi, ULONG cbCopy);
|
---|
21 | HMQ APIENTRY WinQuerySendMsg(HAB hab, HMQ hmqSender, HMQ hmqReceiver, PQMSG pqmsg);
|
---|
22 | BOOL APIENTRY WinLockInput(HMQ hmq, ULONG fLock);
|
---|
23 | #endif
|
---|
24 | #endif
|
---|
25 |
|
---|
26 | #ifdef INCL_DOSSEL
|
---|
27 | /* Segment attribute flags (used with DosAllocSeg) */
|
---|
28 |
|
---|
29 | #define SEG_NONSHARED 0x0000
|
---|
30 | #define SEG_GIVEABLE 0x0001
|
---|
31 | #define SEG_GETTABLE 0x0002
|
---|
32 | #define SEG_DISCARDABLE 0x0004
|
---|
33 |
|
---|
34 | #define DosAllocSeg Dos16AllocSeg
|
---|
35 | #define DosFreeSeg Dos16FreeSeg
|
---|
36 | #define DosGetSeg Dos16GetSeg
|
---|
37 | #define DosGiveSeg Dos16GiveSeg
|
---|
38 | #define DosReallocSeg Dos16ReallocSeg
|
---|
39 | #define DosSizeSeg Dos16SizeSeg
|
---|
40 |
|
---|
41 | USHORT APIENTRY16 DosAllocSeg(USHORT cbSize, PSEL pSel, USHORT fsAlloc);
|
---|
42 | USHORT APIENTRY16 DosFreeSeg(SEL sel);
|
---|
43 | USHORT APIENTRY16 DosGetSeg(SEL sel);
|
---|
44 | USHORT APIENTRY16 DosGiveSeg(SEL sel, PID pid, PSEL pSelRecipient);
|
---|
45 | USHORT APIENTRY16 DosReallocSeg(USHORT cbNewSize, SEL sel);
|
---|
46 | USHORT APIENTRY16 DosSizeSeg(SEL sel, PULONG pcbSize);
|
---|
47 |
|
---|
48 | #ifndef __EMX__
|
---|
49 | #define DosSelToFlat Dos32SelToFlat
|
---|
50 | #endif
|
---|
51 | ULONG _Optlink DosSelToFlat(ULONG seladdr);
|
---|
52 |
|
---|
53 | #ifndef __EMX__
|
---|
54 | #define DosFlatToSel Dos32FlatToSel
|
---|
55 | #endif
|
---|
56 | ULONG _Optlink DosFlatToSel(ULONG lin);
|
---|
57 |
|
---|
58 | #endif
|
---|
59 |
|
---|
60 | //undocumented OS/2 api to read data from an executable image
|
---|
61 |
|
---|
62 | #define QHINF_EXEINFO 1 /* NE exeinfo. */
|
---|
63 | #define QHINF_READRSRCTBL 2 /* Reads from the resource table. */
|
---|
64 | #define QHINF_READFILE 3 /* Reads from the executable file. */
|
---|
65 | #define QHINF_LIBPATHLENGTH 4 /* Gets the libpath length. */
|
---|
66 | #define QHINF_LIBPATH 5 /* Gets the entire libpath. */
|
---|
67 | #define QHINF_FIXENTRY 6 /* NE only */
|
---|
68 | #define QHINF_STE 7 /* NE only */
|
---|
69 | #define QHINF_MAPSEL 8 /* NE only */
|
---|
70 |
|
---|
71 | APIRET APIENTRY DosQueryHeaderInfo(HMODULE hmod,
|
---|
72 | ULONG ulIndex,
|
---|
73 | PVOID pvBuffer,
|
---|
74 | ULONG cbBuffer,
|
---|
75 | ULONG ulSubFunction);
|
---|
76 |
|
---|
77 | #ifdef __cplusplus
|
---|
78 | } // extern "C"
|
---|
79 | #endif
|
---|
80 |
|
---|
81 | #endif //__OS2SEL_H__
|
---|