Now a perl script parses our headers and generates glue code, export tables, etc. This automates all the macro nonsense and bridge code, and separates out all the stuff you need for binary compat with OS/2, so you can remove it all from the build if you want to just build native libraries that supply the OS/2 API to native apps (like Winelib vs Wine). This makes upkeep details less nasty, and easier to build native binaries when implementing and improving APIs, so you can debug directly without a lot of drama.
40 lines
636 B
C
40 lines
636 B
C
/**
|
|
* 2ine; an OS/2 emulator for Linux.
|
|
*
|
|
* Please see the file LICENSE.txt in the source's root directory.
|
|
*
|
|
* This file written by Ryan C. Gordon.
|
|
*/
|
|
|
|
#ifndef _INCL_KBDCALLS_H_
|
|
#define _INCL_KBDCALLS_H_
|
|
|
|
#include "os2types.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#pragma pack(push, 2)
|
|
typedef struct
|
|
{
|
|
UCHAR chChar;
|
|
UCHAR chScan;
|
|
UCHAR fbStatus;
|
|
UCHAR bNlsShift;
|
|
USHORT fsState;
|
|
ULONG time;
|
|
} KBDKEYINFO, *PKBDKEYINFO;
|
|
#pragma pack(pop)
|
|
|
|
OS2EXPORT APIRET16 OS2API16 KbdCharIn(PKBDKEYINFO pkbci, USHORT fWait, HKBD hkbd) OS2APIINFO(4);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|
|
|
|
// end of kbdcalls.h ...
|
|
|