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);
}
|