home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / misc / emu / AROSdev.lha / AROS / config / i386 / geninc.c < prev    next >
Encoding:
C/C++ Source or Header  |  1997-01-30  |  3.5 KB  |  83 lines

  1. #include <exec/alerts.h>
  2. #include <exec/types.h>
  3. #include <exec/execbase.h>
  4. #include <exec/tasks.h>
  5. #include <dos/dosextens.h>
  6. #include <stdio.h>
  7. #include <stddef.h>
  8. #include <signal.h>
  9.  
  10. #define FuncOffset(x)       (int)__AROS_GETJUMPVEC(0,x)
  11.  
  12. int main (void)
  13. {
  14.     printf ("# Macros\n"
  15. #ifdef __FreeBSD__
  16.     "#define AROS_CSYMNAME(n)       _ ## n\n"
  17.     "#define AROS_CDEFNAME(n)       _ ## n\n"
  18.     "#define AROS_SLIB_ENTRY(n,s)   _ ## s ## _ ## n\n"
  19. #else
  20.     "#define AROS_CSYMNAME(n)       n\n"
  21.     "#define AROS_CDEFNAME(n)       n\n"
  22.     "#define AROS_SLIB_ENTRY(n,s)   s ## _ ## n\n"
  23. #endif
  24.         "\n");
  25.  
  26.     printf ("# For sigprocmask\n");
  27.     printf ("#define SIG_BLOCK     %d\n", SIG_BLOCK);
  28.     printf ("#define SIG_UNBLOCK   %d\n\n", SIG_UNBLOCK);
  29.  
  30.     printf ("# ExecBase\n");
  31.     printf ("#define AttnResched   %d\n", offsetof (struct ExecBase, AttnResched));
  32.     printf ("#define IDNestCnt     %d\n", offsetof (struct ExecBase, IDNestCnt));
  33.     printf ("#define TDNestCnt     %d\n", offsetof (struct ExecBase, TDNestCnt));
  34.     printf ("#define TaskReady     %d\n", offsetof (struct ExecBase, TaskReady));
  35.     printf ("#define ThisTask      %d\n", offsetof (struct ExecBase, ThisTask));
  36.  
  37.     printf ("\n# struct Task\n");
  38.     printf ("#define tc_State      %d\n", offsetof (struct Task, tc_State));
  39.     printf ("#define tc_Flags      %d\n", offsetof (struct Task, tc_Flags));
  40.     printf ("#define tc_ExceptCode %d\n", offsetof (struct Task, tc_ExceptCode));
  41.     printf ("#define tc_ExceptData %d\n", offsetof (struct Task, tc_ExceptData));
  42.     printf ("#define tc_SigExcept  %d\n", offsetof (struct Task, tc_SigExcept));
  43.     printf ("#define tc_SigRecvd   %d\n", offsetof (struct Task, tc_SigRecvd));
  44.     printf ("#define tc_Launch     %d\n", offsetof (struct Task, tc_Launch));
  45.     printf ("#define tc_Switch     %d\n", offsetof (struct Task, tc_Switch));
  46.     printf ("#define tc_SPReg      %d\n", offsetof (struct Task, tc_SPReg));
  47.     printf ("#define tc_SPLower    %d\n", offsetof (struct Task, tc_SPLower));
  48.     printf ("#define tc_SPUpper    %d\n", offsetof (struct Task, tc_SPUpper));
  49.     printf ("#define tc_IDNestCnt  %d\n", offsetof (struct Task, tc_IDNestCnt));
  50.  
  51.     printf ("\n# struct DosBase\n");
  52.     printf ("#define dl_SysBase    %d\n", offsetof (struct DosLibrary, dl_SysBase));
  53.  
  54.     printf ("\n# struct StackSwapStruct\n");
  55.     printf ("#define stk_Lower     %d\n", offsetof (struct StackSwapStruct, stk_Lower));
  56.     printf ("#define stk_Upper     %d\n", offsetof (struct StackSwapStruct, stk_Upper));
  57.     printf ("#define stk_Pointer   %d\n", offsetof (struct StackSwapStruct, stk_Pointer));
  58.  
  59.     printf ("\n# Task Flags\n");
  60.     printf ("#define TS_RUN        %d\n", TS_RUN);
  61.     printf ("#define TS_READY      %d\n", TS_READY);
  62.     printf ("#define TF_EXCEPT     0x%04lX\n", TF_EXCEPT);
  63.     printf ("#define TF_SWITCH     0x%04lX\n", TF_SWITCH);
  64.  
  65.     printf ("\n# Exec functions\n");
  66.     printf ("#define Switch        %d\n", FuncOffset (9));
  67.     printf ("#define Dispatch      %d\n", FuncOffset (10));
  68.     printf ("#define Exception     %d\n", FuncOffset (11));
  69.     printf ("#define Alert         %d\n", FuncOffset (18));
  70.     printf ("#define Disable       %d\n", FuncOffset (20));
  71.     printf ("#define Enable        %d\n", FuncOffset (21));
  72.     printf ("#define Enqueue       %d\n", FuncOffset (45));
  73.     printf ("#define StackSwap     %d\n", FuncOffset (122));
  74.  
  75.     printf ("\n# Constants\n");
  76.     printf ("#define AT_DeadEnd    0x%08X\n", AT_DeadEnd);
  77.     printf ("#define AN_StackProbe 0x%08X\n", AN_StackProbe);
  78.  
  79.     return 0;
  80. }
  81.  
  82.  
  83.