[3078] | 1 | /* $Id: os2newapi.h,v 1.3 2000-03-11 00:00:04 sandervl Exp $ */
|
---|
[119] | 2 | /*
|
---|
| 3 | *
|
---|
| 4 | * Project Odin Software License can be found in LICENSE.TXT
|
---|
| 5 | *
|
---|
| 6 | */
|
---|
| 7 | #ifndef __OS2NEWAPI_H__
|
---|
| 8 | #define __OS2NEWAPI_H__
|
---|
| 9 |
|
---|
[21916] | 10 | #ifdef __cplusplus
|
---|
| 11 | extern "C" {
|
---|
| 12 | #endif
|
---|
| 13 |
|
---|
[119] | 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 |
|
---|
[123] | 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 |
|
---|
[21916] | 48 | #ifndef __EMX__
|
---|
[123] | 49 | #define DosSelToFlat Dos32SelToFlat
|
---|
[21916] | 50 | #endif
|
---|
[123] | 51 | ULONG _Optlink DosSelToFlat(ULONG seladdr);
|
---|
| 52 |
|
---|
[21916] | 53 | #ifndef __EMX__
|
---|
[123] | 54 | #define DosFlatToSel Dos32FlatToSel
|
---|
[21916] | 55 | #endif
|
---|
[123] | 56 | ULONG _Optlink DosFlatToSel(ULONG lin);
|
---|
| 57 |
|
---|
| 58 | #endif
|
---|
| 59 |
|
---|
[3078] | 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 |
|
---|
[21916] | 77 | #ifdef __cplusplus
|
---|
| 78 | } // extern "C"
|
---|
| 79 | #endif
|
---|
| 80 |
|
---|
[21380] | 81 | #endif //__OS2SEL_H__
|
---|