use USER_CPPFLAGS & USER_INCLUDES
[AROS.git] / compiler / startup / startup.h
blob4aee26733c0119ff4a37c95f2b72e995b65f96d1
1 #ifndef __AROS_STARTUP_H
2 #define __AROS_STARTUP_H
4 #include <setjmp.h>
5 #include <proto/exec.h>
6 #include <aros/symbolsets.h>
8 /* The AROS startup support code.
10 The following variables are made available to programs by the AROS startup
11 code.
12 There is also a PROGRAM_ENTRIES symbolset that allows to register a function
13 that can be used to do initialization before the main() function is called
14 and clean-up after it has run.
15 This PROGRAM_ENTRIES set is ignored by the startup code of shared libraries
16 and other modules. So if your code uses this PROGRAM_ENTRIES set and can be
17 linked in modules one should handle the case of a non-executed
18 PROGRAM_ENTRIES function gracefully.
20 extern char *__argstr;
21 extern ULONG __argsize;
22 extern char **__argv;
23 extern int __argc;
24 struct WBStartup;
25 extern struct WBStartup *WBenchMsg;
27 extern LONG __startup_error;
29 DECLARESET(PROGRAM_ENTRIES);
30 #define __startup_entries_next() ___startup_entries_next(SysBase)
31 void ___startup_entries_next(struct ExecBase *SysBase);
33 #endif /* !__AROS_STARTUP_H */