home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / DC-POS24.LZX / pOS / Guide.lzx / Guide / pExec / Class.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-03-11  |  3.9 KB  |  124 lines

  1. @DATABASE "pExec/Class.h"
  2. @MASTER   "Work2:AD/IInc/pExec/Class.h"
  3. @REMARK   This file was created by ADtoHT 2.0 on 11-Mär-97  13:34:22
  4. @REMARK   Do not edit
  5. @REMARK   ADtoHT is © 1993-1995 Christian Stieber
  6.  
  7. @NODE MAIN "pExec/Class.h"
  8. @TOC "__pOS_Dev.guide/MAIN"
  9.  
  10. @{"pExec/Class.h" LINK File}
  11.  
  12.  
  13. @{b}Structures@{ub}
  14.  
  15. @{"pOS_Class" LINK "pExec/Class.h/File" 18}  @{"pOS_Member" LINK "pExec/Class.h/File" 39}  @{"pOS_Method" LINK "pExec/Class.h/File" 30}  @{"pOS_NClass" LINK "pExec/Class.h/File" 50}  @{"pOS_Object" LINK "pExec/Class.h/File" 77}
  16.  
  17.  
  18. @{b}#defines@{ub}
  19.  
  20. @{"pOS_CLASSERR" LINK "pExec/Class.h/File" 97}  @{"pOS_GETNCLASS()" LINK "pExec/Class.h/File" 92}
  21.  
  22. @ENDNODE
  23. @NODE File "pExec/Class.h"
  24. #ifndef __INC_POS_PEXEC_CLASS_H
  25. #define __INC_POS_PEXEC_CLASS_H
  26. /*******************************************************************
  27.  Includes Release 24
  28.  (C) Copyright 1995-1997 proDAD
  29.      All Rights Reserved
  30.  
  31.  $AUT Holger Burkarth
  32.  $DAT >>Class.h<<   26 Oct 1996    08:17:52 - (C) ProDAD
  33. *******************************************************************/
  34. #ifndef __INC_POS_PEXEC_LIST_H
  35. #include <@{"pExec/List.h" LINK "pExec/List.h/File"}>
  36. #endif
  37.  
  38.  
  39. /*----------------------------------
  40. -----------------------------------*/
  41. struct pOS_Class
  42. {
  43.   @{"ULONG" LINK "pExec/Types.h/File" 91} (*cl_Dispatcher)(@{"_R_LB" LINK "pExec/Types.h/File" 35} struct pOS_ExecBase*,_R_A0 const struct pOS_Class*,_R_A1 APTR,_R_A2 struct pOS_Method*);
  44.   @{"size_t" LINK "pExec/Types.h/File" 113}      cl_ObjSize;       /* without sizeof(pOS_Object) */
  45.   @{"size_t" LINK "pExec/Types.h/File" 113}      cl_ObjOffset;
  46.   @{"UWORD" LINK "pExec/Types.h/File" 93}       cl_ClassNr;
  47.   @{"UWORD" LINK "pExec/Types.h/File" 93}       cl_Pad;           /* damit sizeof==16 wird */
  48. };
  49.  
  50.  
  51. /*----------------------------------
  52. -----------------------------------*/
  53. struct pOS_Method
  54. {
  55.   @{"ULONG" LINK "pExec/Types.h/File" 91}  mth_ID;
  56. };
  57.  
  58.  
  59.  
  60. /*----------------------------------
  61. -----------------------------------*/
  62. struct pOS_Member
  63. {
  64.   @{"struct pOS_NClass" LINK File 50} *mb_NClass;
  65.   @{"size_t" LINK "pExec/Types.h/File" 113}             mb_MembOffset;
  66. };
  67.  
  68.  
  69.  
  70.  
  71. /*----------------------------------
  72. -----------------------------------*/
  73. struct pOS_NClass
  74. {
  75.   @{"struct pOS_ExNode" LINK "pExec/List.h/File" 37}        ncl_Node;        /* Public-Class => ln_Name for ClassName */
  76.   @{"UWORD" LINK "pExec/Types.h/File" 93}                    ncl_OpenCnt;
  77.   @{"UWORD" LINK "pExec/Types.h/File" 93}                    ncl_Version;
  78.   @{"size_t" LINK "pExec/Types.h/File" 113}                   ncl_SumSize;     /* with sizeof(pOS_Object) */
  79.   @{"ULONG" LINK "pExec/Types.h/File" 91}                    ncl_UserData;    /* for the User own use */
  80.   @{"struct pOS_Library" LINK "pExec/Library.h/File" 26}      *ncl_Library;     /* ~@{"NULL" LINK "pExec/Types.h/File" 117}, wurde nachgeladen */
  81.   @{"size_t" LINK "pExec/Types.h/File" 113}                   ncl_NASize;      /* beinhaltet die dynamische Länge von pOS_NClass */
  82.                                           /* Null => wurde nicht dyn. erzeugt */
  83.   const struct pOS_NClass *ncl_SupClass;    /* ~@{"NULL" LINK "pExec/Types.h/File" 117} => SuperClass */
  84.  
  85.   @{"UBYTE" LINK "pExec/Types.h/File" 95}  ncl_Reserved[18];
  86.  
  87.   @{"UWORD" LINK "pExec/Types.h/File" 93}                    ncl_MembCnt;   /* Anzahl der Member-Objekte */
  88.   @{"UWORD" LINK "pExec/Types.h/File" 93}                    ncl_ClassCnt;  /* Anzahl der Klassen */
  89.   @{"struct pOS_Class" LINK File 18}         ncl_Class[1];
  90.  
  91. /*\\
  92. *** pOS_Class  x[ncl_ClassCnt-1]
  93. *** pOS_Member y[ncl_MembCnt]
  94. \\*/
  95. };
  96.  
  97.  
  98. /*----------------------------------
  99. -----------------------------------*/
  100. struct pOS_Object
  101. {
  102.   @{"struct pOS_NClass" LINK File 50} *obj_Class;
  103. };
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113. @{"struct pOS_NClass" LINK File 50}* pOS_GETNCLASS(APTR);
  114.  
  115. #define pOS_GETNCLASS(obj) \\
  116.   ( (((@{"struct pOS_Object" LINK File 77}*)(obj))-1)->obj_Class  )
  117.  
  118.  
  119. /* Error from Dispatcher */
  120. #define pOS_CLASSERR  (~0l)
  121.  
  122. #endif
  123. @ENDNODE
  124.