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