HP-UX Reference (11i v2 03/08) - 4 File Formats (vol 8)
a
a.out(4) a.out(4)
struct sys_clock {
unsigned int secs;
unsigned int nanosecs;
};
Auxiliary Headers
The auxiliary headers are contained in a single contiguous area in the file, and are located by a pointer in
the file header. Auxiliary headers are used for two purposes: to attach users’ version and copyright
strings to an object file, and to contain the information needed to load an executable program. In an exe-
cutable program, the HP-UX auxiliary header must precede all other auxiliary headers. The following
declarations are found in <aouthdr.h>.
struct aux_id {
unsigned int mandatory : 1; /* linker must understand aux hdr info */
unsigned int copy : 1; /* copy aux hdr without modification */
unsigned int append : 1; /* merge multiple entries of same type */
unsigned int ignore : 1; /* ignore aux hdr if type unknown */
unsigned int reserved : 12; /* reserved */
unsigned int type : 16; /* aux hdr type */
unsigned int length; /* sizeof rest of aux hdr */
};
/* Values for the aux_id.type field */
#define HPUX_AUX_ID 4
#define VERSION_AUX_ID 6
#define COPYRIGHT_AUX_ID 9
#define SHLIB_VERSION_AUX_ID 10
struct som_exec_auxhdr { /* HP-UX auxiliary header */
struct aux_id som_auxhdr; /* aux header id */
long exec_tsize; /* text size */
long exec_tmem; /* start address of text */
long exec_tfile; /* file ptr to text */
long exec_dsize; /* data size */
long exec_dmem; /* start address of data */
long exec_dfile; /* file ptr to data */
long exec_bsize; /* bss size */
long exec_entry; /* address of entry point */
long exec_flags; /* loader flags */
long exec_bfill; /* bss initialization value */
};
/* Values for exec_flags */
#define TRAP_NIL_PTRS 01
struct user_string_aux_hdr { /* Version string auxiliary header */
struct aux_id header_id; /* aux header id */
unsigned int string_length; /* strlen(user_string) */
char user_string[1]; /* user-defined string */
};
struct copyright_aux_hdr { /* Copyright string auxiliary header */
struct aux_id header_id; /* aux header id */
unsigned int string_length; /* strlen(user_string) */
char copyright[1]; /* user-defined string */
};
struct shlib_version_aux_hdr {
struct aux_id header_id; /* aux header id */
short version; /* version number */
};
Space Dictionary
The space dictionary consists of a sequence of space records, as defined in <spacehdr.h>.
HP-UX 11i Version 2: August 2003 − 4 − Hewlett-Packard Company Section 4−−5