1 /* 2 * rdlar.h - definitions of new RDOFF library/archive format. 3 */ 4 5 #ifndef RDOFF_RDLAR_H 6 #define RDOFF_RDLAR_H 1 7 8 #include "compiler.h" 9 10 /* For non-POSIX operating systems */ 11 #ifndef HAVE_GETUID 12 # define getuid() 0 13 #endif 14 #ifndef HAVE_GETGID 15 # define getgid() 0 16 #endif 17 18 #define RDLAMAG 0x414C4452 /* Archive magic */ 19 #define RDLMMAG 0x4D4C4452 /* Member magic */ 20 21 #define MAXMODNAMELEN 256 /* Maximum length of module name */ 22 23 struct rdlm_hdr { 24 uint32_t magic; /* Must be RDLAMAG */ 25 uint32_t hdrsize; /* Header size + sizeof(module_name) */ 26 uint32_t date; /* Creation date */ 27 uint32_t owner; /* UID */ 28 uint32_t group; /* GID */ 29 uint32_t mode; /* File mode */ 30 uint32_t size; /* File size */ 31 /* NULL-terminated module name immediately follows */ 32 }; 33 34 #endif 35