home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / dev / gcc / ixemulsrc.lha / ixemul / library / multiuser_inlines.h < prev    next >
C/C++ Source or Header  |  1996-12-11  |  4KB  |  142 lines

  1. #ifndef _INLINE_MULTIUSER_H
  2. #define _INLINE_MULTIUSER_H
  3.  
  4. #ifndef __INLINE_MACROS_H
  5. #include <inline/macros.h>
  6. #endif
  7.  
  8. #ifndef MULTIUSER_BASE_NAME
  9. #define MULTIUSER_BASE_NAME muBase
  10. #endif
  11.  
  12. #define muAddMonitor(monitor) \
  13.     LP1(0xa8, BOOL, muAddMonitor, struct muMonitor *, monitor, a0, \
  14.     , MULTIUSER_BASE_NAME)
  15.  
  16. #define muAllocGroupInfo() \
  17.     LP0(0x96, struct muGroupInfo *, muAllocGroupInfo, \
  18.     , MULTIUSER_BASE_NAME)
  19.  
  20. #define muAllocUserInfo() \
  21.     LP0(0x36, struct muUserInfo *, muAllocUserInfo, \
  22.     , MULTIUSER_BASE_NAME)
  23.  
  24. #define muCheckPasswd(taglist) \
  25.     LP1(0x66, BOOL, muCheckPasswd, struct TagItem *, taglist, a0, \
  26.     , MULTIUSER_BASE_NAME)
  27.  
  28. #ifndef NO_INLINE_STDARG
  29. #define muCheckPasswdTags(tags...) \
  30.     ({ULONG _tags[] = { tags }; muCheckPasswd((struct TagItem *)_tags);})
  31. #endif /* !NO_INLINE_STDARG */
  32.  
  33. #define muFreeExtOwner(info) \
  34.     LP1NR(0x84, muFreeExtOwner, struct muExtOwner *, info, a0, \
  35.     , MULTIUSER_BASE_NAME)
  36.  
  37. #define muFreeGroupInfo(info) \
  38.     LP1NR(0x9c, muFreeGroupInfo, struct muGroupInfo *, info, a0, \
  39.     , MULTIUSER_BASE_NAME)
  40.  
  41. #define muFreeUserInfo(info) \
  42.     LP1NR(0x3c, muFreeUserInfo, struct muUserInfo *, info, a0, \
  43.     , MULTIUSER_BASE_NAME)
  44.  
  45. #define muFreeze(task) \
  46.     LP1(0xba, BOOL, muFreeze, struct Task *, task, d0, \
  47.     , MULTIUSER_BASE_NAME)
  48.  
  49. #define muGetConfigDirLock() \
  50.     LP0(0x78, BPTR, muGetConfigDirLock, \
  51.     , MULTIUSER_BASE_NAME)
  52.  
  53. #define muGetDefProtection(task) \
  54.     LP1(0x54, ULONG, muGetDefProtection, struct Task *, task, d0, \
  55.     , MULTIUSER_BASE_NAME)
  56.  
  57. #define muGetGroupInfo(info, keytype) \
  58.     LP2(0xa2, struct muGroupInfo *, muGetGroupInfo, struct muGroupInfo *, info, a0, ULONG, keytype, d0, \
  59.     , MULTIUSER_BASE_NAME)
  60.  
  61. #define muGetPasswdDirLock() \
  62.     LP0(0x72, BPTR, muGetPasswdDirLock, \
  63.     , MULTIUSER_BASE_NAME)
  64.  
  65. #define muGetRelationshipA(user, owner, taglist) \
  66.     LP3(0x8a, ULONG, muGetRelationshipA, struct muExtOwner *, user, d0, ULONG, owner, d1, struct TagItem *, taglist, a0, \
  67.     , MULTIUSER_BASE_NAME)
  68.  
  69. #ifndef NO_INLINE_STDARG
  70. #define muGetRelationship(a0, a1, tags...) \
  71.     ({ULONG _tags[] = { tags }; muGetRelationshipA((a0), (a1), (struct TagItem *)_tags);})
  72. #endif /* !NO_INLINE_STDARG */
  73.  
  74. #define muGetTaskExtOwner(task) \
  75.     LP1(0x7e, struct muExtOwner *, muGetTaskExtOwner, struct Task *, task, d0, \
  76.     , MULTIUSER_BASE_NAME)
  77.  
  78. #define muGetTaskOwner(task) \
  79.     LP1(0x2a, ULONG, muGetTaskOwner, struct Task *, task, d0, \
  80.     , MULTIUSER_BASE_NAME)
  81.  
  82. #define muGetUserInfo(info, keytype) \
  83.     LP2(0x42, struct muUserInfo *, muGetUserInfo, struct muUserInfo *, info, a0, ULONG, keytype, d0, \
  84.     , MULTIUSER_BASE_NAME)
  85.  
  86. #define muKill(task) \
  87.     LP1(0xb4, BOOL, muKill, struct Task *, task, d0, \
  88.     , MULTIUSER_BASE_NAME)
  89.  
  90. #define muLimitDOSSetProtection(flag) \
  91.     LP1(0x60, BOOL, muLimitDOSSetProtection, BOOL, flag, d0, \
  92.     , MULTIUSER_BASE_NAME)
  93.  
  94. #define muLoginA(taglist) \
  95.     LP1(0x24, ULONG, muLoginA, struct TagItem *, taglist, a0, \
  96.     , MULTIUSER_BASE_NAME)
  97.  
  98. #ifndef NO_INLINE_STDARG
  99. #define muLogin(tags...) \
  100.     ({ULONG _tags[] = { tags }; muLoginA((struct TagItem *)_tags);})
  101. #endif /* !NO_INLINE_STDARG */
  102.  
  103. #define muLogoutA(taglist) \
  104.     LP1(0x1e, ULONG, muLogoutA, struct TagItem *, taglist, a0, \
  105.     , MULTIUSER_BASE_NAME)
  106.  
  107. #ifndef NO_INLINE_STDARG
  108. #define muLogout(tags...) \
  109.     ({ULONG _tags[] = { tags }; muLogoutA((struct TagItem *)_tags);})
  110. #endif /* !NO_INLINE_STDARG */
  111.  
  112. #define muPasswd(oldpwd, newpwd) \
  113.     LP2(0x30, BOOL, muPasswd, STRPTR, oldpwd, a0, STRPTR, newpwd, a1, \
  114.     , MULTIUSER_BASE_NAME)
  115.  
  116. #define muRemMonitor(monitor) \
  117.     LP1NR(0xae, muRemMonitor, struct muMonitor *, monitor, a0, \
  118.     , MULTIUSER_BASE_NAME)
  119.  
  120. #define muSetDefProtectionA(taglist) \
  121.     LP1(0x4e, BOOL, muSetDefProtectionA, struct TagItem *, taglist, a0, \
  122.     , MULTIUSER_BASE_NAME)
  123.  
  124. #ifndef NO_INLINE_STDARG
  125. #define muSetDefProtection(tags...) \
  126.     ({ULONG _tags[] = { tags }; muSetDefProtectionA((struct TagItem *)_tags);})
  127. #endif /* !NO_INLINE_STDARG */
  128.  
  129. #define muSetProtection(name, mask) \
  130.     LP2(0x5a, BOOL, muSetProtection, STRPTR, name, d1, LONG, mask, d2, \
  131.     , MULTIUSER_BASE_NAME)
  132.  
  133. #define muUnfreeze(task) \
  134.     LP1(0xc0, BOOL, muUnfreeze, struct Task *, task, d0, \
  135.     , MULTIUSER_BASE_NAME)
  136.  
  137. #define muUserInfo2ExtOwner(info) \
  138.     LP1(0x90, struct muExtOwner *, muUserInfo2ExtOwner, struct muUserInfo *, info, a0, \
  139.     , MULTIUSER_BASE_NAME)
  140.  
  141. #endif /* _INLINE_MULTIUSER_H */
  142.