arch.5 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. .\" $Id$
  2. .TH ARCH 5 "$Revision$"
  3. .ad
  4. .SH NAME
  5. arch \- archive (library) file format
  6. .SH SYNOPSIS
  7. .B #include <arch.h>
  8. .SH DESCRIPTION
  9. The archive command
  10. .I arch
  11. is used to combine several files into
  12. one.
  13. Archives are used mainly as libraries to be searched
  14. by the EM assembler/linker em_ass(6) or the universal
  15. assembler/linker uni_ass(6).
  16. .PP
  17. A file produced by
  18. .I arch
  19. has a magic number at the start,
  20. followed by the constituent files, each preceded by a file header.
  21. The magic number and header layout as described in the
  22. include file are:
  23. .RS
  24. .PP
  25. .nf
  26. .ta \w'#define 'u +\w'ARMAG 'u
  27. .so TARGETHOME/h/arch.h
  28. .fi
  29. .RE
  30. .LP
  31. The name is a null-terminated string;
  32. The sizes of the other entries are determined as follows:
  33. long's are 4 bytes in PDP-11 order, int are 2 bytes, low order
  34. byte first, char's are 1 byte.
  35. The date is in the
  36. form of
  37. .IR time (2);
  38. the user ID and group ID are numbers; the mode is a bit pattern
  39. per
  40. .IR chmod (2);
  41. the size is counted in bytes.
  42. .PP
  43. Each file begins on a even offset;
  44. a null byte is inserted between files if necessary.
  45. Nevertheless the size given reflects the
  46. actual size of the file exclusive of padding.
  47. .PP
  48. Notice there is no provision for empty areas in an archive
  49. file.
  50. .SH FILES
  51. ~em/h/arch.h
  52. .SH "SEE ALSO"
  53. arch(1), em_ass(6), uni_ass(6)
  54. .SH BUGS
  55. Coding user and group IDs as characters is a botch.