home *** CD-ROM | disk | FTP | other *** search
- #include <exec/alerts.h>
- #include <exec/types.h>
- #include <exec/execbase.h>
- #include <exec/tasks.h>
- #include <dos/dosextens.h>
- #include <stdio.h>
- #include <stddef.h>
- #include <signal.h>
-
- #define FuncOffset(x) (int)__AROS_GETJUMPVEC(0,x)
-
- int main (void)
- {
- printf ("# Macros\n"
- #ifdef __FreeBSD__
- "#define AROS_CSYMNAME(n) _ ## n\n"
- "#define AROS_CDEFNAME(n) _ ## n\n"
- "#define AROS_SLIB_ENTRY(n,s) _ ## s ## _ ## n\n"
- #else
- "#define AROS_CSYMNAME(n) n\n"
- "#define AROS_CDEFNAME(n) n\n"
- "#define AROS_SLIB_ENTRY(n,s) s ## _ ## n\n"
- #endif
- "\n");
-
- printf ("# For sigprocmask\n");
- printf ("#define SIG_BLOCK %d\n", SIG_BLOCK);
- printf ("#define SIG_UNBLOCK %d\n\n", SIG_UNBLOCK);
-
- printf ("# ExecBase\n");
- printf ("#define AttnResched %d\n", offsetof (struct ExecBase, AttnResched));
- printf ("#define IDNestCnt %d\n", offsetof (struct ExecBase, IDNestCnt));
- printf ("#define TDNestCnt %d\n", offsetof (struct ExecBase, TDNestCnt));
- printf ("#define TaskReady %d\n", offsetof (struct ExecBase, TaskReady));
- printf ("#define ThisTask %d\n", offsetof (struct ExecBase, ThisTask));
-
- printf ("\n# struct Task\n");
- printf ("#define tc_State %d\n", offsetof (struct Task, tc_State));
- printf ("#define tc_Flags %d\n", offsetof (struct Task, tc_Flags));
- printf ("#define tc_ExceptCode %d\n", offsetof (struct Task, tc_ExceptCode));
- printf ("#define tc_ExceptData %d\n", offsetof (struct Task, tc_ExceptData));
- printf ("#define tc_SigExcept %d\n", offsetof (struct Task, tc_SigExcept));
- printf ("#define tc_SigRecvd %d\n", offsetof (struct Task, tc_SigRecvd));
- printf ("#define tc_Launch %d\n", offsetof (struct Task, tc_Launch));
- printf ("#define tc_Switch %d\n", offsetof (struct Task, tc_Switch));
- printf ("#define tc_SPReg %d\n", offsetof (struct Task, tc_SPReg));
- printf ("#define tc_SPLower %d\n", offsetof (struct Task, tc_SPLower));
- printf ("#define tc_SPUpper %d\n", offsetof (struct Task, tc_SPUpper));
- printf ("#define tc_IDNestCnt %d\n", offsetof (struct Task, tc_IDNestCnt));
-
- printf ("\n# struct DosBase\n");
- printf ("#define dl_SysBase %d\n", offsetof (struct DosLibrary, dl_SysBase));
-
- printf ("\n# struct StackSwapStruct\n");
- printf ("#define stk_Lower %d\n", offsetof (struct StackSwapStruct, stk_Lower));
- printf ("#define stk_Upper %d\n", offsetof (struct StackSwapStruct, stk_Upper));
- printf ("#define stk_Pointer %d\n", offsetof (struct StackSwapStruct, stk_Pointer));
-
- printf ("\n# Task Flags\n");
- printf ("#define TS_RUN %d\n", TS_RUN);
- printf ("#define TS_READY %d\n", TS_READY);
- printf ("#define TF_EXCEPT 0x%04lX\n", TF_EXCEPT);
- printf ("#define TF_SWITCH 0x%04lX\n", TF_SWITCH);
-
- printf ("\n# Exec functions\n");
- printf ("#define Switch %d\n", FuncOffset (9));
- printf ("#define Dispatch %d\n", FuncOffset (10));
- printf ("#define Exception %d\n", FuncOffset (11));
- printf ("#define Alert %d\n", FuncOffset (18));
- printf ("#define Disable %d\n", FuncOffset (20));
- printf ("#define Enable %d\n", FuncOffset (21));
- printf ("#define Enqueue %d\n", FuncOffset (45));
- printf ("#define StackSwap %d\n", FuncOffset (122));
-
- printf ("\n# Constants\n");
- printf ("#define AT_DeadEnd 0x%08X\n", AT_DeadEnd);
- printf ("#define AN_StackProbe 0x%08X\n", AN_StackProbe);
-
- return 0;
- }
-
-
-