
One item that affects many existing UNIX systems is the inability of the ar (library archive maintenance utility) to operate correctly for files whose owner uids/gids numeric values are greater than 64k or to operate on very large files.
This is due to a historical limitation in the ar header, which typically includes the following:
struct ar_hdr
{
char ar_name[16];
........
char ar_uid[6];
char ar_gid[6];
........
char ar_size[10]
}
The matter has been considered by the working group that develops the Single UNIX Specification. They do not specify the ar format in the specification , but have developed the following proposal for an extended ar format .
#define ARXMAG "!<archext>\n" /* String that begins an archive file. */
#define SARXMAG 11 /* Size of that string. */
#define ARFMAG "`\n" /* String in ar_fmag at end of each header. */
struct ar_hdr
{
char ar_name[16]; /* Member file name, sometimes terminated */
char ar_date[12]; /* File date, decimal seconds since Epoch. */
char ar_uid[20], ar_gid[20];/* User and group IDs, in ASCII decimal. */
char ar_mode[8]; /* File mode, in ASCII octal. */
char ar_size[20]; /* File size, in ASCII decimal. */
char ar_fmag[2]; /* Always contains ARFMAG. */
};
If you have comments on this proposal please send them to Andrew Josey (ajosey(at)opengroup.org).
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
UNIX is a registered trademark of The Open Group.
Copyright © 1997-1999 , The Open Group.