aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/util/mk_task.c
blob: 36c9606505e2a69b753a49766e0090816f8b2bd9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <stdio.h>
#include <kernel-offsets.h>

void print_ptr(char *name, char *type, int offset)
{
  printf("#define %s(task) ((%s *) &(((char *) (task))[%d]))\n", name, type,
	 offset);
}

void print(char *name, char *type, int offset)
{
  printf("#define %s(task) *((%s *) &(((char *) (task))[%d]))\n", name, type,
	 offset);
}

int main(int argc, char **argv)
{
  printf("/*\n");
  printf(" * Generated by mk_task\n");
  printf(" */\n");
  printf("\n");
  printf("#ifndef __TASK_H\n");
  printf("#define __TASK_H\n");
  printf("\n");
  print_ptr("TASK_REGS", "union uml_pt_regs", TASK_REGS);
  print("TASK_PID", "int", TASK_PID);
  printf("\n");
  printf("#endif\n");
  return(0);
}