mk_task.c 688 B

123456789101112131415161718192021222324252627282930
  1. #include <stdio.h>
  2. #include <kernel-offsets.h>
  3. void print_ptr(char *name, char *type, int offset)
  4. {
  5. printf("#define %s(task) ((%s *) &(((char *) (task))[%d]))\n", name, type,
  6. offset);
  7. }
  8. void print(char *name, char *type, int offset)
  9. {
  10. printf("#define %s(task) *((%s *) &(((char *) (task))[%d]))\n", name, type,
  11. offset);
  12. }
  13. int main(int argc, char **argv)
  14. {
  15. printf("/*\n");
  16. printf(" * Generated by mk_task\n");
  17. printf(" */\n");
  18. printf("\n");
  19. printf("#ifndef __TASK_H\n");
  20. printf("#define __TASK_H\n");
  21. printf("\n");
  22. print_ptr("TASK_REGS", "union uml_pt_regs", TASK_REGS);
  23. print("TASK_PID", "int", TASK_PID);
  24. printf("\n");
  25. printf("#endif\n");
  26. return(0);
  27. }