home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / som30tk.zip / som30os2.zip / include / somtypes.h < prev    next >
C/C++ Source or Header  |  1996-12-24  |  1KB  |  55 lines

  1. /*
  2.  *    @(#) 1.9 src/somk/somtypes.h, somk.api, som3.0 9/4/96 13:45:16 [12/24/96 07:40:26]
  3.  */
  4.  
  5. /*
  6.  * 96F8647, 96F8648, 96F8850 (C) Copyright IBM Corp. 1992, 1994
  7.  * All Rights Reserved
  8.  * Licensed Materials - Property of IBM
  9.  */
  10.  
  11. /*
  12.  *    SOMTYPES.H
  13.  *    SOM types for C
  14.  *    Multiple Inheritance Version
  15.  */
  16. #ifndef somtypes_h
  17. #define somtypes_h
  18.  
  19. #include <stdarg.h>
  20.  
  21. /* SOM Base Types */
  22. #include <sombtype.h>
  23.  
  24. /* Object Instance Structure */
  25. struct somMethodTabStruct;
  26. typedef struct SOMAny_struct {
  27.     struct somMethodTabStruct  *mtab;
  28.     integer4 body[1];
  29. } SOMAny;
  30.  
  31. /* SOM Primitive Classes */
  32. #define SOMObject SOMAny
  33. #define SOMClass SOMAny
  34. #define SOMClassMgr SOMAny
  35.  
  36. #ifndef SOM_PUBLIC_HEADER
  37. /*
  38.  * This section conditionally includes type definitions needed to compile
  39.  * the SOM kernel.  It is removed from the public version of this file by
  40.  * the "pdl" command during "make install" for somk.  The version used by
  41.  * earlier stages of the build (installed by "make stdhdrs" for somk) has
  42.  * no #define of SOM_INCLUDE_ITYPE so that somitype.h is not included.
  43.  */
  44. #ifdef SOM_INCLUDE_ITYPE
  45. /* SOM Implementation Types */
  46. #include <somitype.h>
  47. #endif /* SOM_INCLUDE_ITYPE */
  48. #else /* SOM_PUBLIC_HEADER */
  49. #if (defined(__OS2__) || defined(_OS2) || defined(_WIN32)) && defined(__IBMC__) && (__IBMC__ >= 300)
  50. #pragma library("somtk.lib")
  51. #endif
  52. #endif /* SOM_PUBLIC_HEADER */
  53.  
  54. #endif  /* somtypes_h */
  55.