What are the meanings of the fields in mach_task_basic_info()

tl;dr Where is there documentation for the implementation of mach_task_basic_info on iOS?

There is a lot of conflicting information out there, a lot of micro kernels that use a structure named like this.

https://developer.apple.com/documentation/kernel/mach_task_basic_info_data_t lists the fields (and gives types) as:

policy: int

resident_size: uint64_t

resident_size_max

suspend_count

system_time

user_time

virtual_size

What are the relative meanings of the *_size variables? resident_size is that the number of bytes used? Number of pages? Is it a total for all processes? The calling process?

And so on.

I found this:

#define MACH_TASK_BASIC_INFO 20 /* always 64-bit basic info */
struct mach_task_basic_info {
mach_vm_size_t virtual_size; /* virtual memory size (bytes) */
mach_vm_size_t resident_size; /* resident memory size (bytes) */
mach_vm_size_t resident_size_max; /* maximum resident memory size (bytes) */
time_value_t user_time; /* total user run time for
* terminated threads */
time_value_t system_time; /* total system run time for
* terminated threads */
policy_t policy; /* default policy for new threads */
integer_t suspend_count; /* suspend count for task */
};

This is in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer//SDKs/MacOSX.sdk/usr/include/mach/task_info.h

What are the meanings of the fields in mach_task_basic_info()
 
 
Q