home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / fd2inline-1.0-bin.lha / include / inline / datatypes.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-10-12  |  3.7 KB  |  108 lines

  1. #ifndef _INLINE_DATATYPES_H
  2. #define _INLINE_DATATYPES_H
  3.  
  4. #ifndef __INLINE_MACROS_H
  5. #include <inline/macros.h>
  6. #endif
  7.  
  8. #ifndef DATATYPES_BASE_NAME
  9. #define DATATYPES_BASE_NAME DataTypesBase
  10. #endif
  11.  
  12. #define AddDTObject(win, req, o, pos) \
  13.     LP4(0x48, LONG, AddDTObject, struct Window *, win, a0, struct Requester *, req, a1, Object *, o, a2, long, pos, d0, \
  14.     , DATATYPES_BASE_NAME)
  15.  
  16. #define DisposeDTObject(o) \
  17.     LP1NR(0x36, DisposeDTObject, Object *, o, a0, \
  18.     , DATATYPES_BASE_NAME)
  19.  
  20. #define DoAsyncLayout(o, gpl) \
  21.     LP2(0x54, ULONG, DoAsyncLayout, Object *, o, a0, struct gpLayout *, gpl, a1, \
  22.     , DATATYPES_BASE_NAME)
  23.  
  24. #define DoDTMethodA(o, win, req, msg) \
  25.     LP4(0x5a, ULONG, DoDTMethodA, Object *, o, a0, struct Window *, win, a1, struct Requester *, req, a2, Msg, msg, a3, \
  26.     , DATATYPES_BASE_NAME)
  27.  
  28. #ifndef NO_INLINE_STDARG
  29. #define DoDTMethod(a0, a1, a2, tags...) \
  30.     ({ULONG _tags[] = { tags }; DoDTMethodA((a0), (a1), (a2), (Msg)_tags);})
  31. #endif /* !NO_INLINE_STDARG */
  32.  
  33. #define GetDTAttrsA(o, attrs) \
  34.     LP2(0x42, ULONG, GetDTAttrsA, Object *, o, a0, struct TagItem *, attrs, a2, \
  35.     , DATATYPES_BASE_NAME)
  36.  
  37. #ifndef NO_INLINE_STDARG
  38. #define GetDTAttrs(a0, tags...) \
  39.     ({ULONG _tags[] = { tags }; GetDTAttrsA((a0), (struct TagItem *)_tags);})
  40. #endif /* !NO_INLINE_STDARG */
  41.  
  42. #define GetDTMethods(object) \
  43.     LP1(0x66, ULONG *, GetDTMethods, Object *, object, a0, \
  44.     , DATATYPES_BASE_NAME)
  45.  
  46. #define GetDTString(id) \
  47.     LP1(0x8a, STRPTR, GetDTString, unsigned long, id, d0, \
  48.     , DATATYPES_BASE_NAME)
  49.  
  50. #define GetDTTriggerMethods(object) \
  51.     LP1(0x6c, struct DTMethods *, GetDTTriggerMethods, Object *, object, a0, \
  52.     , DATATYPES_BASE_NAME)
  53.  
  54. #define NewDTObjectA(name, attrs) \
  55.     LP2(0x30, Object *, NewDTObjectA, APTR, name, d0, struct TagItem *, attrs, a0, \
  56.     , DATATYPES_BASE_NAME)
  57.  
  58. #ifndef NO_INLINE_STDARG
  59. #define NewDTObject(a0, tags...) \
  60.     ({ULONG _tags[] = { tags }; NewDTObjectA((a0), (struct TagItem *)_tags);})
  61. #endif /* !NO_INLINE_STDARG */
  62.  
  63. #define ObtainDataTypeA(type, handle, attrs) \
  64.     LP3(0x24, struct DataType *, ObtainDataTypeA, unsigned long, type, d0, APTR, handle, a0, struct TagItem *, attrs, a1, \
  65.     , DATATYPES_BASE_NAME)
  66.  
  67. #ifndef NO_INLINE_STDARG
  68. #define ObtainDataType(a0, a1, tags...) \
  69.     ({ULONG _tags[] = { tags }; ObtainDataTypeA((a0), (a1), (struct TagItem *)_tags);})
  70. #endif /* !NO_INLINE_STDARG */
  71.  
  72. #define PrintDTObjectA(o, w, r, msg) \
  73.     LP4(0x72, ULONG, PrintDTObjectA, Object *, o, a0, struct Window *, w, a1, struct Requester *, r, a2, struct dtPrint *, msg, a3, \
  74.     , DATATYPES_BASE_NAME)
  75.  
  76. #ifndef NO_INLINE_STDARG
  77. #define PrintDTObject(a0, a1, a2, tags...) \
  78.     ({ULONG _tags[] = { tags }; PrintDTObjectA((a0), (a1), (a2), (struct dtPrint *)_tags);})
  79. #endif /* !NO_INLINE_STDARG */
  80.  
  81. #define RefreshDTObjectA(o, win, req, attrs) \
  82.     LP4NR(0x4e, RefreshDTObjectA, Object *, o, a0, struct Window *, win, a1, struct Requester *, req, a2, struct TagItem *, attrs, a3, \
  83.     , DATATYPES_BASE_NAME)
  84.  
  85. #ifndef NO_INLINE_STDARG
  86. #define RefreshDTObject(a0, a1, a2, tags...) \
  87.     ({ULONG _tags[] = { tags }; RefreshDTObjectA((a0), (a1), (a2), (struct TagItem *)_tags);})
  88. #endif /* !NO_INLINE_STDARG */
  89.  
  90. #define ReleaseDataType(dt) \
  91.     LP1NR(0x2a, ReleaseDataType, struct DataType *, dt, a0, \
  92.     , DATATYPES_BASE_NAME)
  93.  
  94. #define RemoveDTObject(win, o) \
  95.     LP2(0x60, LONG, RemoveDTObject, struct Window *, win, a0, Object *, o, a1, \
  96.     , DATATYPES_BASE_NAME)
  97.  
  98. #define SetDTAttrsA(o, win, req, attrs) \
  99.     LP4(0x3c, ULONG, SetDTAttrsA, Object *, o, a0, struct Window *, win, a1, struct Requester *, req, a2, struct TagItem *, attrs, a3, \
  100.     , DATATYPES_BASE_NAME)
  101.  
  102. #ifndef NO_INLINE_STDARG
  103. #define SetDTAttrs(a0, a1, a2, tags...) \
  104.     ({ULONG _tags[] = { tags }; SetDTAttrsA((a0), (a1), (a2), (struct TagItem *)_tags);})
  105. #endif /* !NO_INLINE_STDARG */
  106.  
  107. #endif /* _INLINE_DATATYPES_H */
  108.