home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!iWarp.intel.com|imutm1.de.intel.com!susan!bofe!jonas!rommel
- From: rommel@jonas.bofe.sub.org (Kai Uwe Rommel)
- Newsgroups: comp.os.os2.programmer
- Subject: emx/g++ os2.h
- Distribution: world
- Message-ID: <711998759snx@jonas.bofe.sub.org>
- Date: Fri, 24 Jul 92 17:25:59 GMT
- Organization: Private
- Lines: 40
-
- In the emx/g++ distribution, C++ wrappers for some C include headers
- are missing, such as for os2.h. They can be constructed very easily,
- such as the following include.cpp/os2.h for os2.h:
-
- #ifndef _os2_h
- #define _os2_h 1
- extern "C" {
- #include_next <os2.h>
- }
- #endif
-
- That's all there is to do to call OS/2 API functions from C++ code.
- Similar wrapper headers can be created for process.h and other emx/gcc
- headers for which the C++ wrapper is missing.
-
- Note: the above sample works also with the IBM OS/2 toolkit headers,
- if the icc2gcc contribution by Johannes Martin is used (strongly
- recommended). But there is a bug in the bsedos.h, in the prototype for
- DosSetPriority at line 164. It uses the reserved C++ keyword "class"
- as a parameter template.
-
- Change
-
- APIRET APIENTRY DosSetPriority(ULONG scope, ULONG class, LONG delta, ULONG PorTid);
-
- to
-
- APIRET APIENTRY DosSetPriority(ULONG scope, ULONG _class, LONG delta, ULONG PorTid);
-
- or similar.
-
- Kai Uwe Rommel
-
- --
- /* Kai Uwe Rommel Muenchen, Germany *
- * rommel@jonas.bofe.sub.org Phone +49 89 723 4101 *
- * rommel@informatik.tu-muenchen.de Fax +49 89 723 7889 */
-
- DOS ... is still a real mode only non-reentrant interrupt
- handler, and always will be. -Russell Williams
-