2 Copyright © 1995-2012, The AROS Development Team. All rights reserved.
6 #include "__arosc_privdata.h"
8 #include <aros/symbolsets.h>
9 #include <exec/lists.h>
10 #include "__exitfunc.h"
12 int __addexitfunc(struct AtExitNode
*aen
)
14 struct aroscbase
*aroscbase
= __aros_getbase();
16 ADDHEAD((struct List
*)&aroscbase
->acb_atexit_list
, (struct Node
*)aen
);
21 int __init_atexit(struct aroscbase
*aroscbase
)
23 NEWLIST((struct List
*)&aroscbase
->acb_atexit_list
);
28 void __callexitfuncs(void)
30 struct aroscbase
*aroscbase
= __aros_getbase();
31 struct AtExitNode
*aen
;
34 (aen
= (struct AtExitNode
*) REMHEAD((struct List
*) &aroscbase
->acb_atexit_list
))
37 switch (aen
->node
.ln_Type
)
44 aen
->func
.fptr(*aroscbase
->acb_startup_error_ptr
, aen
->ptr
);
50 ADD2OPENLIB(__init_atexit
, 100);