Rev 4055 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4055 | Rev 4537 | ||
---|---|---|---|
Line 35... | Line 35... | ||
35 | 35 | ||
36 | #ifndef LIBC_PCB_H_ |
36 | #ifndef LIBC_PCB_H_ |
37 | #define LIBC_PCB_H_ |
37 | #define LIBC_PCB_H_ |
38 | 38 | ||
39 | #include <sys/types.h> |
39 | #include <sys/types.h> |
- | 40 | #include <vfs/vfs.h> |
|
40 | 41 | ||
41 | typedef void (*entry_point_t)(void); |
42 | typedef void (*entry_point_t)(void); |
42 | 43 | ||
43 | /** Program Control Block. |
44 | /** Program Control Block. |
44 | * |
45 | * |
45 | * Holds pointers to data passed from the program loader to the program |
46 | * Holds pointers to data passed from the program loader to the program |
46 | * and/or to the dynamic linker. This includes the program entry point, |
47 | * and/or to the dynamic linker. This includes the program entry point, |
47 | * arguments, environment variables etc. |
48 | * arguments, environment variables etc. |
- | 49 | * |
|
48 | */ |
50 | */ |
49 | typedef struct { |
51 | typedef struct { |
50 | /** Program entry point. */ |
52 | /** Program entry point. */ |
51 | entry_point_t entry; |
53 | entry_point_t entry; |
52 | 54 | ||
53 | /** Number of command-line arguments. */ |
55 | /** Number of command-line arguments. */ |
54 | int argc; |
56 | int argc; |
55 | /** Command-line arguments. */ |
57 | /** Command-line arguments. */ |
56 | char **argv; |
58 | char **argv; |
57 | 59 | ||
- | 60 | /** Number of preset files. */ |
|
- | 61 | int filc; |
|
- | 62 | /** Preset files. */ |
|
- | 63 | fdi_node_t **filv; |
|
- | 64 | ||
58 | /* |
65 | /* |
59 | * ELF-specific data. |
66 | * ELF-specific data. |
60 | */ |
67 | */ |
- | 68 | ||
61 | /** Pointer to ELF dynamic section of the program. */ |
69 | /** Pointer to ELF dynamic section of the program. */ |
62 | void *dynamic; |
70 | void *dynamic; |
63 | } pcb_t; |
71 | } pcb_t; |
64 | 72 | ||
65 | /** |
73 | /** |