typedef struct {
unsigned int gp_offset;
///The element points to the start ofholds the register save area.
offset in unsignedbytes intfrom fp_offset;reg_save_area
///This pointer isto usedthe toplace fetchwhere argumentsthe passednext onavailable thegeneral stack.purpose
///It is initialized with the address ofargument theregister firstis argumentsaved.
///passed onIn thecase stack,all ifargument any,registers andhave thenbeen alwaysexhausted, updatedit tois
///pointset to the start of the nextvalue argument48 on(6 the∗ stack8).
voidunsigned *overflow_arg_area;int fp_offset;
///The element holds the offset in bytes from reg_save_area
///to the place where the next available generalfloating purposepoint
///argument register is saved.
///In case all argument registers have been exhausted, it is
///set to the value 48304 (6 ∗ 8 + 16 ∗ 16).
void *reg_save_area;*overflow_arg_area;
///TheThis elementpointer holdsis theused offsetto infetch bytesarguments frompassed reg_save_areaon the stack.
///toIt theis placeinitialized wherewith the nextaddress availableof floatingthe pointfirst argument
///argumentpassed registeron isthe saved.stack, if any, and then always updated to
///Inpoint caseto allthe start of the next argument registerson havethe beenstack.
exhausted, it is void *reg_save_area;
///set toThe theelement valuepoints 304to (6the ∗start 8of +the 16register ∗save 16)area.
} va_list[1];