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

  1. #ifndef _INLINE_LOWLEVEL_H
  2. #define _INLINE_LOWLEVEL_H
  3.  
  4. #ifndef __INLINE_MACROS_H
  5. #include <inline/macros.h>
  6. #endif
  7.  
  8. #ifndef LOWLEVEL_BASE_NAME
  9. #define LOWLEVEL_BASE_NAME LowLevelBase
  10. #endif
  11.  
  12. #define AddKBInt(intRoutine, intData) \
  13.     LP2(0x3c, APTR, AddKBInt, APTR, intRoutine, a0, APTR, intData, a1, \
  14.     , LOWLEVEL_BASE_NAME)
  15.  
  16. #define AddTimerInt(intRoutine, intData) \
  17.     LP2(0x4e, APTR, AddTimerInt, APTR, intRoutine, a0, APTR, intData, a1, \
  18.     , LOWLEVEL_BASE_NAME)
  19.  
  20. #define AddVBlankInt(intRoutine, intData) \
  21.     LP2(0x6c, APTR, AddVBlankInt, APTR, intRoutine, a0, APTR, intData, a1, \
  22.     , LOWLEVEL_BASE_NAME)
  23.  
  24. #define ElapsedTime(context) \
  25.     LP1(0x66, ULONG, ElapsedTime, struct EClockVal *, context, a0, \
  26.     , LOWLEVEL_BASE_NAME)
  27.  
  28. #define GetKey() \
  29.     LP0(0x30, ULONG, GetKey, \
  30.     , LOWLEVEL_BASE_NAME)
  31.  
  32. #define GetLanguageSelection() \
  33.     LP0(0x24, UBYTE, GetLanguageSelection, \
  34.     , LOWLEVEL_BASE_NAME)
  35.  
  36. #define QueryKeys(queryArray, arraySize) \
  37.     LP2NR(0x36, QueryKeys, struct KeyQuery *, queryArray, a0, unsigned long, arraySize, d1, \
  38.     , LOWLEVEL_BASE_NAME)
  39.  
  40. #define ReadJoyPort(port) \
  41.     LP1(0x1e, ULONG, ReadJoyPort, unsigned long, port, d0, \
  42.     , LOWLEVEL_BASE_NAME)
  43.  
  44. #define RemKBInt(intHandle) \
  45.     LP1NR(0x42, RemKBInt, APTR, intHandle, a1, \
  46.     , LOWLEVEL_BASE_NAME)
  47.  
  48. #define RemTimerInt(intHandle) \
  49.     LP1NR(0x54, RemTimerInt, APTR, intHandle, a1, \
  50.     , LOWLEVEL_BASE_NAME)
  51.  
  52. #define RemVBlankInt(intHandle) \
  53.     LP1NR(0x72, RemVBlankInt, APTR, intHandle, a1, \
  54.     , LOWLEVEL_BASE_NAME)
  55.  
  56. #define SetJoyPortAttrsA(portNumber, tagList) \
  57.     LP2(0x84, BOOL, SetJoyPortAttrsA, unsigned long, portNumber, d0, struct TagItem *, tagList, a1, \
  58.     , LOWLEVEL_BASE_NAME)
  59.  
  60. #ifndef NO_INLINE_STDARG
  61. #define SetJoyPortAttrs(a0, tags...) \
  62.     ({ULONG _tags[] = { tags }; SetJoyPortAttrsA((a0), (struct TagItem *)_tags);})
  63. #endif /* !NO_INLINE_STDARG */
  64.  
  65. #define StartTimerInt(intHandle, timeInterval, continuous) \
  66.     LP3NR(0x60, StartTimerInt, APTR, intHandle, a1, unsigned long, timeInterval, d0, long, continuous, d1, \
  67.     , LOWLEVEL_BASE_NAME)
  68.  
  69. #define StopTimerInt(intHandle) \
  70.     LP1NR(0x5a, StopTimerInt, APTR, intHandle, a1, \
  71.     , LOWLEVEL_BASE_NAME)
  72.  
  73. #define SystemControlA(tagList) \
  74.     LP1(0x48, ULONG, SystemControlA, struct TagItem *, tagList, a1, \
  75.     , LOWLEVEL_BASE_NAME)
  76.  
  77. #ifndef NO_INLINE_STDARG
  78. #define SystemControl(tags...) \
  79.     ({ULONG _tags[] = { tags }; SystemControlA((struct TagItem *)_tags);})
  80. #endif /* !NO_INLINE_STDARG */
  81.  
  82. #endif /* _INLINE_LOWLEVEL_H */
  83.