/targets/m68k-amigaos/netinclude/inline/usergroup.h

https://github.com/kusma/amiga-dev · C Header · 524 lines · 517 code · 7 blank · 0 comment · 0 complexity · 2fa9a56e25171966e82cfb66790b5f8a MD5 · raw file

  1. #ifndef _INLINE_USERGROUP_H
  2. #define _INLINE_USERGROUP_H \
  3. "$Id: usergroup.h,v 4.3 1996/02/26 17:29:56 too Exp $"
  4. #ifndef _CDEFS_H_
  5. #include <sys/cdefs.h>
  6. #endif
  7. #ifndef _INLINE_STUBS_H_
  8. #include <inline/stubs.h>
  9. #endif
  10. __BEGIN_DECLS
  11. #ifndef BASE_EXT_DECL
  12. #define BASE_EXT_DECL
  13. #define BASE_EXT_DECL0 extern struct Library * UserGroupBase;
  14. #endif
  15. #ifndef BASE_PAR_DECL
  16. #define BASE_PAR_DECL
  17. #define BASE_PAR_DECL0 void
  18. #endif
  19. #ifndef BASE_NAME
  20. #define BASE_NAME UserGroupBase
  21. #endif
  22. BASE_EXT_DECL0
  23. extern __inline char *
  24. crypt (BASE_PAR_DECL const char * key, const char * salt)
  25. {
  26. BASE_EXT_DECL
  27. register char * res __asm("d0");
  28. register struct Library *a6 __asm("a6") = BASE_NAME;
  29. register const char * a0 __asm("a0") = key;
  30. register const char * a1 __asm("a1") = salt;
  31. __asm __volatile ("jsr a6@(-0xae)"
  32. : "=r" (res)
  33. : "r" (a6), "r" (a0), "r" (a1)
  34. : "d0", "d1", "a0", "a1");
  35. return res;
  36. }
  37. extern __inline void
  38. endgrent (BASE_PAR_DECL0)
  39. {
  40. BASE_EXT_DECL
  41. register struct Library *a6 __asm("a6") = BASE_NAME;
  42. __asm __volatile ("jsr a6@(-0xa8)"
  43. : /* No Output */
  44. : "r" (a6)
  45. : "d0", "d1", "a0", "a1");
  46. }
  47. extern __inline void
  48. endpwent (BASE_PAR_DECL0)
  49. {
  50. BASE_EXT_DECL
  51. register struct Library *a6 __asm("a6") = BASE_NAME;
  52. __asm __volatile ("jsr a6@(-0x8a)"
  53. : /* No Output */
  54. : "r" (a6)
  55. : "d0", "d1", "a0", "a1");
  56. }
  57. extern __inline void
  58. endutent (BASE_PAR_DECL0)
  59. {
  60. BASE_EXT_DECL
  61. register struct Library *a6 __asm("a6") = BASE_NAME;
  62. __asm __volatile ("jsr a6@(-0xf0)"
  63. : /* No Output */
  64. : "r" (a6)
  65. : "d0", "d1", "a0", "a1");
  66. }
  67. extern __inline struct UserGroupCredentials *
  68. getcredentials (BASE_PAR_DECL struct Task * task)
  69. {
  70. BASE_EXT_DECL
  71. register struct UserGroupCredentials * res __asm("d0");
  72. register struct Library *a6 __asm("a6") = BASE_NAME;
  73. register struct Task * a0 __asm("a0") = task;
  74. __asm __volatile ("jsr a6@(-0x102)"
  75. : "=r" (res)
  76. : "r" (a6), "r" (a0)
  77. : "d0", "d1", "a0", "a1");
  78. return res;
  79. }
  80. extern __inline gid_t
  81. getegid (BASE_PAR_DECL0)
  82. {
  83. BASE_EXT_DECL
  84. register res __asm("d0");
  85. register struct Library *a6 __asm("a6") = BASE_NAME;
  86. __asm __volatile ("jsr a6@(-0x4e)"
  87. : "=r" (res)
  88. : "r" (a6)
  89. : "d0", "d1", "a0", "a1");
  90. return res;
  91. }
  92. extern __inline uid_t
  93. geteuid (BASE_PAR_DECL0)
  94. {
  95. BASE_EXT_DECL
  96. register res __asm("d0");
  97. register struct Library *a6 __asm("a6") = BASE_NAME;
  98. __asm __volatile ("jsr a6@(-0x36)"
  99. : "=r" (res)
  100. : "r" (a6)
  101. : "d0", "d1", "a0", "a1");
  102. return res;
  103. }
  104. extern __inline gid_t
  105. getgid (BASE_PAR_DECL0)
  106. {
  107. BASE_EXT_DECL
  108. register res __asm("d0");
  109. register struct Library *a6 __asm("a6") = BASE_NAME;
  110. __asm __volatile ("jsr a6@(-0x48)"
  111. : "=r" (res)
  112. : "r" (a6)
  113. : "d0", "d1", "a0", "a1");
  114. return res;
  115. }
  116. extern __inline struct group *
  117. getgrent (BASE_PAR_DECL0)
  118. {
  119. BASE_EXT_DECL
  120. register struct group * res __asm("d0");
  121. register struct Library *a6 __asm("a6") = BASE_NAME;
  122. __asm __volatile ("jsr a6@(-0xa2)"
  123. : "=r" (res)
  124. : "r" (a6)
  125. : "d0", "d1", "a0", "a1");
  126. return res;
  127. }
  128. extern __inline struct group *
  129. getgrgid (BASE_PAR_DECL gid_t gid)
  130. {
  131. BASE_EXT_DECL
  132. register struct group * res __asm("d0");
  133. register struct Library *a6 __asm("a6") = BASE_NAME;
  134. register gid_t d0 __asm("d0") = gid;
  135. __asm __volatile ("jsr a6@(-0x96)"
  136. : "=r" (res)
  137. : "r" (a6), "r" (d0)
  138. : "d0", "d1", "a0", "a1");
  139. return res;
  140. }
  141. extern __inline struct group *
  142. getgrnam (BASE_PAR_DECL const char * name)
  143. {
  144. BASE_EXT_DECL
  145. register struct group * res __asm("d0");
  146. register struct Library *a6 __asm("a6") = BASE_NAME;
  147. register const char * a1 __asm("a1") = name;
  148. __asm __volatile ("jsr a6@(-0x90)"
  149. : "=r" (res)
  150. : "r" (a6), "r" (a1)
  151. : "d0", "d1", "a0", "a1");
  152. return res;
  153. }
  154. extern __inline int
  155. getgroups (BASE_PAR_DECL int ngroups, gid_t * groups)
  156. {
  157. BASE_EXT_DECL
  158. register res __asm("d0");
  159. register struct Library *a6 __asm("a6") = BASE_NAME;
  160. register int d0 __asm("d0") = ngroups;
  161. register gid_t * a1 __asm("a1") = groups;
  162. __asm __volatile ("jsr a6@(-0x60)"
  163. : "=r" (res)
  164. : "r" (a6), "r" (d0), "r" (a1)
  165. : "d0", "d1", "a0", "a1");
  166. return res;
  167. }
  168. extern __inline struct lastlog *
  169. getlastlog (BASE_PAR_DECL uid_t uid)
  170. {
  171. BASE_EXT_DECL
  172. register struct lastlog * res __asm("d0");
  173. register struct Library *a6 __asm("a6") = BASE_NAME;
  174. register uid_t d0 __asm("d0") = uid;
  175. __asm __volatile ("jsr a6@(-0xf6)"
  176. : "=r" (res)
  177. : "r" (a6), "r" (d0)
  178. : "d0", "d1", "a0", "a1");
  179. return res;
  180. }
  181. extern __inline char *
  182. getlogin (BASE_PAR_DECL0)
  183. {
  184. BASE_EXT_DECL
  185. register char * res __asm("d0");
  186. register struct Library *a6 __asm("a6") = BASE_NAME;
  187. __asm __volatile ("jsr a6@(-0xd8)"
  188. : "=r" (res)
  189. : "r" (a6)
  190. : "d0", "d1", "a0", "a1");
  191. return res;
  192. }
  193. extern __inline char *
  194. getpass (BASE_PAR_DECL const char * prompt)
  195. {
  196. BASE_EXT_DECL
  197. register char * res __asm("d0");
  198. register struct Library *a6 __asm("a6") = BASE_NAME;
  199. register const char * a1 __asm("a1") = prompt;
  200. __asm __volatile ("jsr a6@(-0xba)"
  201. : "=r" (res)
  202. : "r" (a6), "r" (a1)
  203. : "d0", "d1", "a0", "a1");
  204. return res;
  205. }
  206. extern __inline pid_t
  207. getpgrp (BASE_PAR_DECL0)
  208. {
  209. BASE_EXT_DECL
  210. register pid_t res __asm("d0");
  211. register struct Library *a6 __asm("a6") = BASE_NAME;
  212. __asm __volatile ("jsr a6@(-0xd2)"
  213. : "=r" (res)
  214. : "r" (a6)
  215. : "d0", "d1", "a0", "a1");
  216. return res;
  217. }
  218. extern __inline struct passwd *
  219. getpwent (BASE_PAR_DECL0)
  220. {
  221. BASE_EXT_DECL
  222. register struct passwd * res __asm("d0");
  223. register struct Library *a6 __asm("a6") = BASE_NAME;
  224. __asm __volatile ("jsr a6@(-0x84)"
  225. : "=r" (res)
  226. : "r" (a6)
  227. : "d0", "d1", "a0", "a1");
  228. return res;
  229. }
  230. extern __inline struct passwd *
  231. getpwnam (BASE_PAR_DECL const char * name)
  232. {
  233. BASE_EXT_DECL
  234. register struct passwd * res __asm("d0");
  235. register struct Library *a6 __asm("a6") = BASE_NAME;
  236. register const char * a1 __asm("a1") = name;
  237. __asm __volatile ("jsr a6@(-0x72)"
  238. : "=r" (res)
  239. : "r" (a6), "r" (a1)
  240. : "d0", "d1", "a0", "a1");
  241. return res;
  242. }
  243. extern __inline struct passwd *
  244. getpwuid (BASE_PAR_DECL uid_t uid)
  245. {
  246. BASE_EXT_DECL
  247. register struct passwd * res __asm("d0");
  248. register struct Library *a6 __asm("a6") = BASE_NAME;
  249. register uid_t d0 __asm("d0") = uid;
  250. __asm __volatile ("jsr a6@(-0x78)"
  251. : "=r" (res)
  252. : "r" (a6), "r" (d0)
  253. : "d0", "d1", "a0", "a1");
  254. return res;
  255. }
  256. extern __inline uid_t
  257. getuid (BASE_PAR_DECL0)
  258. {
  259. BASE_EXT_DECL
  260. register uid_t res __asm("d0");
  261. register struct Library *a6 __asm("a6") = BASE_NAME;
  262. __asm __volatile ("jsr a6@(-0x30)"
  263. : "=r" (res)
  264. : "r" (a6)
  265. : "d0", "d1", "a0", "a1");
  266. return res;
  267. }
  268. extern __inline mode_t
  269. getumask (BASE_PAR_DECL0)
  270. {
  271. BASE_EXT_DECL
  272. register res __asm("d0");
  273. register struct Library *a6 __asm("a6") = BASE_NAME;
  274. __asm __volatile ("jsr a6@(-0xc6)"
  275. : "=r" (res)
  276. : "r" (a6)
  277. : "d0", "d1", "a0", "a1");
  278. return res;
  279. }
  280. extern __inline struct utmp *
  281. getutent (BASE_PAR_DECL0)
  282. {
  283. BASE_EXT_DECL
  284. register struct utmp * res __asm("d0");
  285. register struct Library *a6 __asm("a6") = BASE_NAME;
  286. __asm __volatile ("jsr a6@(-0xea)"
  287. : "=r" (res)
  288. : "r" (a6)
  289. : "d0", "d1", "a0", "a1");
  290. return res;
  291. }
  292. extern __inline int
  293. initgroups (BASE_PAR_DECL const char * name, gid_t basegroup)
  294. {
  295. BASE_EXT_DECL
  296. register res __asm("d0");
  297. register struct Library *a6 __asm("a6") = BASE_NAME;
  298. register const char * a1 __asm("a1") = name;
  299. register gid_t d0 __asm("d0") = basegroup;
  300. __asm __volatile ("jsr a6@(-0x6c)"
  301. : "=r" (res)
  302. : "r" (a6), "r" (a1), "r" (d0)
  303. : "d0", "d1", "a0", "a1");
  304. return res;
  305. }
  306. extern __inline int
  307. setgid (BASE_PAR_DECL gid_t id)
  308. {
  309. BASE_EXT_DECL
  310. register res __asm("d0");
  311. register struct Library *a6 __asm("a6") = BASE_NAME;
  312. register gid_t d0 __asm("d0") = id;
  313. __asm __volatile ("jsr a6@(-0x5a)"
  314. : "=r" (res)
  315. : "r" (a6), "r" (d0)
  316. : "d0", "d1", "a0", "a1");
  317. return res;
  318. }
  319. extern __inline void
  320. setgrent (BASE_PAR_DECL0)
  321. {
  322. BASE_EXT_DECL
  323. register struct Library *a6 __asm("a6") = BASE_NAME;
  324. __asm __volatile ("jsr a6@(-0x9c)"
  325. : /* No Output */
  326. : "r" (a6)
  327. : "d0", "d1", "a0", "a1");
  328. }
  329. extern __inline int
  330. setgroups (BASE_PAR_DECL int ngroups, const gid_t * groups)
  331. {
  332. BASE_EXT_DECL
  333. register res __asm("d0");
  334. register struct Library *a6 __asm("a6") = BASE_NAME;
  335. register int d0 __asm("d0") = ngroups;
  336. register const gid_t * a1 __asm("a1") = groups;
  337. __asm __volatile ("jsr a6@(-0x66)"
  338. : "=r" (res)
  339. : "r" (a6), "r" (d0), "r" (a1)
  340. : "d0", "d1", "a0", "a1");
  341. return res;
  342. }
  343. extern __inline int
  344. setlastlog (BASE_PAR_DECL uid_t uid, char * name, char * host)
  345. {
  346. BASE_EXT_DECL
  347. register res __asm("d0");
  348. register struct Library *a6 __asm("a6") = BASE_NAME;
  349. register uid_t d0 __asm("d0") = uid;
  350. register char * a0 __asm("a0") = name;
  351. register char * a1 __asm("a1") = host;
  352. __asm __volatile ("jsr a6@(-0xfc)"
  353. : "=r" (res)
  354. : "r" (a6), "r" (d0), "r" (a0), "r" (a1)
  355. : "d0", "d1", "a0", "a1");
  356. return res;
  357. }
  358. extern __inline int
  359. setlogin (BASE_PAR_DECL const char * buffer)
  360. {
  361. BASE_EXT_DECL
  362. register res __asm("d0");
  363. register struct Library *a6 __asm("a6") = BASE_NAME;
  364. register const char * a1 __asm("a1") = buffer;
  365. __asm __volatile ("jsr a6@(-0xde)"
  366. : "=r" (res)
  367. : "r" (a6), "r" (a1)
  368. : "d0", "d1", "a0", "a1");
  369. return res;
  370. }
  371. extern __inline void
  372. setpwent (BASE_PAR_DECL0)
  373. {
  374. BASE_EXT_DECL
  375. register struct Library *a6 __asm("a6") = BASE_NAME;
  376. __asm __volatile ("jsr a6@(-0x7e)"
  377. : /* No Output */
  378. : "r" (a6)
  379. : "d0", "d1", "a0", "a1");
  380. }
  381. extern __inline int
  382. setregid (BASE_PAR_DECL gid_t real, gid_t eff)
  383. {
  384. BASE_EXT_DECL
  385. register res __asm("d0");
  386. register struct Library *a6 __asm("a6") = BASE_NAME;
  387. register gid_t d0 __asm("d0") = real;
  388. register gid_t d1 __asm("d1") = eff;
  389. __asm __volatile ("jsr a6@(-0x54)"
  390. : "=r" (res)
  391. : "r" (a6), "r" (d0), "r" (d1)
  392. : "d0", "d1", "a0", "a1");
  393. return res;
  394. }
  395. extern __inline int
  396. setreuid (BASE_PAR_DECL uid_t real, uid_t eff)
  397. {
  398. BASE_EXT_DECL
  399. register res __asm("d0");
  400. register struct Library *a6 __asm("a6") = BASE_NAME;
  401. register uid_t d0 __asm("d0") = real;
  402. register uid_t d1 __asm("d1") = eff;
  403. __asm __volatile ("jsr a6@(-0x3c)"
  404. : "=r" (res)
  405. : "r" (a6), "r" (d0), "r" (d1)
  406. : "d0", "d1", "a0", "a1");
  407. return res;
  408. }
  409. extern __inline pid_t
  410. setsid (BASE_PAR_DECL0)
  411. {
  412. BASE_EXT_DECL
  413. register pid_t res __asm("d0");
  414. register struct Library *a6 __asm("a6") = BASE_NAME;
  415. __asm __volatile ("jsr a6@(-0xcc)"
  416. : "=r" (res)
  417. : "r" (a6)
  418. : "d0", "d1", "a0", "a1");
  419. return res;
  420. }
  421. extern __inline int
  422. setuid (BASE_PAR_DECL uid_t id)
  423. {
  424. BASE_EXT_DECL
  425. register res __asm("d0");
  426. register struct Library *a6 __asm("a6") = BASE_NAME;
  427. register uid_t d0 __asm("d0") = id;
  428. __asm __volatile ("jsr a6@(-0x42)"
  429. : "=r" (res)
  430. : "r" (a6), "r" (d0)
  431. : "d0", "d1", "a0", "a1");
  432. return res;
  433. }
  434. extern __inline void
  435. setutent (BASE_PAR_DECL0)
  436. {
  437. BASE_EXT_DECL
  438. register struct Library *a6 __asm("a6") = BASE_NAME;
  439. __asm __volatile ("jsr a6@(-0xe4)"
  440. : /* No Output */
  441. : "r" (a6)
  442. : "d0", "d1", "a0", "a1");
  443. }
  444. extern __inline int
  445. ug_GetErr (BASE_PAR_DECL0)
  446. {
  447. BASE_EXT_DECL
  448. register res __asm("d0");
  449. register struct Library *a6 __asm("a6") = BASE_NAME;
  450. __asm __volatile ("jsr a6@(-0x24)"
  451. : "=r" (res)
  452. : "r" (a6)
  453. : "d0", "d1", "a0", "a1");
  454. return res;
  455. }
  456. extern __inline char *
  457. ug_GetSalt (BASE_PAR_DECL const struct passwd * user, char * buffer, ULONG size)
  458. {
  459. BASE_EXT_DECL
  460. register char * res __asm("d0");
  461. register struct Library *a6 __asm("a6") = BASE_NAME;
  462. register const struct passwd * a0 __asm("a0") = user;
  463. register char * a1 __asm("a1") = buffer;
  464. register ULONG d0 __asm("d0") = size;
  465. __asm __volatile ("jsr a6@(-0xb4)"
  466. : "=r" (res)
  467. : "r" (a6), "r" (a0), "r" (a1), "r" (d0)
  468. : "d0", "d1", "a0", "a1");
  469. return res;
  470. }
  471. extern __inline int
  472. ug_SetupContextTagList (BASE_PAR_DECL const UBYTE* pname, struct TagItem * taglist)
  473. {
  474. BASE_EXT_DECL
  475. register res __asm("d0");
  476. register struct Library *a6 __asm("a6") = BASE_NAME;
  477. register const UBYTE* a0 __asm("a0") = pname;
  478. register struct TagItem * a1 __asm("a1") = taglist;
  479. __asm __volatile ("jsr a6@(-0x1e)"
  480. : "=r" (res)
  481. : "r" (a6), "r" (a0), "r" (a1)
  482. : "d0", "d1", "a0", "a1");
  483. return res;
  484. }
  485. extern __inline const char *
  486. ug_StrError (BASE_PAR_DECL LONG code)
  487. {
  488. BASE_EXT_DECL
  489. register char * res __asm("d0");
  490. register struct Library *a6 __asm("a6") = BASE_NAME;
  491. register LONG d1 __asm("d1") = code;
  492. __asm __volatile ("jsr a6@(-0x2a)"
  493. : "=r" (res)
  494. : "r" (a6), "r" (d1)
  495. : "d0", "d1", "a0", "a1");
  496. return res;
  497. }
  498. extern __inline mode_t
  499. umask (BASE_PAR_DECL mode_t mask)
  500. {
  501. BASE_EXT_DECL
  502. register res __asm("d0");
  503. register struct Library *a6 __asm("a6") = BASE_NAME;
  504. register mode_t d0 __asm("d0") = mask;
  505. __asm __volatile ("jsr a6@(-0xc0)"
  506. : "=r" (res)
  507. : "r" (a6), "r" (d0)
  508. : "d0", "d1", "a0", "a1");
  509. return res;
  510. }
  511. #undef BASE_EXT_DECL
  512. #undef BASE_EXT_DECL0
  513. #undef BASE_PAR_DECL
  514. #undef BASE_PAR_DECL0
  515. #undef BASE_NAME
  516. __END_DECLS
  517. #endif /* _INLINE_USERGROUP_H */