Data Fields | |
| unsigned long | start_code |
| unsigned long | end_code |
| unsigned long | start_data |
| unsigned long | end_data |
| unsigned long | start_brk |
| unsigned long | brk |
| unsigned long | start_stack |
| unsigned long | arg_stack |
| unsigned long | arg_end |
| unsigned long | env_start |
| unsigned long | env_end |
This struct holds the task addresses that are found in a task's memory descriptor. You can fill the values in the struct using the xa_linux_get_taskaddr function. The comments next to each entry are taken from Bovet & Cesati's excellent book Understanding the Linux Kernel 3rd Ed, p354.
| unsigned long xa_linux_taskaddr::start_code |
initial address of executable code
| unsigned long xa_linux_taskaddr::end_code |
final address of executable code
| unsigned long xa_linux_taskaddr::start_data |
initial address of initialized data
| unsigned long xa_linux_taskaddr::end_data |
final address of initialized data
| unsigned long xa_linux_taskaddr::start_brk |
initial address of the heap
| unsigned long xa_linux_taskaddr::brk |
current final address of the heap
| unsigned long xa_linux_taskaddr::start_stack |
initial address of user mode stack
| unsigned long xa_linux_taskaddr::arg_stack |
initial address of command-line arguments
| unsigned long xa_linux_taskaddr::arg_end |
final address of command-line arguments
| unsigned long xa_linux_taskaddr::env_start |
initial address of environmental vars
| unsigned long xa_linux_taskaddr::env_end |
final address of environmental vars
1.4.7