22 #if defined(CROSS_DIRECTORY_STRUCTURE) \
23 && defined(TARGET_AIX_VERSION) \
26 #define CROSS_AIX_SUPPORT 1
36 #define FL_MAGIC_SIZE 8
39 #define FL_MAGIC_BIG_AR "<bigaf>\012"
42 #define AR_BIG_OFFSET_SIZE 20
45 struct external_big_ar_filehdr
48 char fl_magic[FL_MAGIC_SIZE];
51 char fl_memoff[AR_BIG_OFFSET_SIZE];
55 char fl_symoff[AR_BIG_OFFSET_SIZE];
59 char fl_symoff64[AR_BIG_OFFSET_SIZE];
62 char fl_firstmemoff[AR_BIG_OFFSET_SIZE];
65 char fl_lastmemoff[AR_BIG_OFFSET_SIZE];
69 char fl_freeoff[AR_BIG_OFFSET_SIZE];
73 #define SXCOFFARFMAG 2
76 struct external_big_ar_member
79 char ar_size[AR_BIG_OFFSET_SIZE];
82 char ar_nextoff[AR_BIG_OFFSET_SIZE];
85 char ar_prevoff[AR_BIG_OFFSET_SIZE];
111 #define U802WRMAGIC 0730
112 #define U802ROMAGIC 0735
113 #define U802TOCMAGIC 0737
114 #define U803XTOCMAGIC 0757
115 #define U64_TOCMAGIC 0767
118 #define F_MAGIC_SIZE 2
121 struct external_filehdr_32
124 char f_magic[F_MAGIC_SIZE];
146 struct external_filehdr_64
149 char f_magic[F_MAGIC_SIZE];
171 struct internal_filehdr
173 unsigned short f_magic;
174 unsigned short f_nscns;
178 unsigned short f_opthdr;
179 unsigned short f_flags;
187 struct external_syment
232 #define F_SHROBJ 0x2000
233 #define F_LOADONLY 0x4000
235 #define N_UNDEF ((short) 0)
248 struct internal_syment
251 unsigned int n_zeroes;
255 unsigned short n_flags;
256 unsigned short n_type;
257 unsigned char n_sclass;
258 unsigned char n_numaux;
260 typedef struct internal_syment SYMENT;
263 struct internal_ldfile
285 struct internal_filehdr filehdr;
287 typedef struct internal_ldfile LDFILE;
290 #define HEADER(FILE) ((FILE)->filehdr)
297 extern LDFILE *ldopen (
char *, LDFILE *);
298 extern char *ldgetname (LDFILE *, SYMENT *);
299 extern int ldtbread (LDFILE *,
long, SYMENT *);
300 extern int ldclose (LDFILE *);