%!PS-Adobe-3.0 %%Creator: groff version 1.19.2 %%CreationDate: Wed Jun 30 11:55:52 2010 %%DocumentNeededResources: font Times-Roman %%DocumentSuppliedResources: procset grops 1.19 2 %%Pages: 60 %%PageOrder: Ascend %%DocumentMedia: Default 612 792 0 () () %%Orientation: Portrait %%EndComments %%BeginDefaults %%PageMedia: Default %%EndDefaults %%BeginProlog %%BeginResource: procset grops 1.19 2 %!PS-Adobe-3.0 Resource-ProcSet /setpacking where{ pop currentpacking true setpacking }if /grops 120 dict dup begin /SC 32 def /A/show load def /B{0 SC 3 -1 roll widthshow}bind def /C{0 exch ashow}bind def /D{0 exch 0 SC 5 2 roll awidthshow}bind def /E{0 rmoveto show}bind def /F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def /G{0 rmoveto 0 exch ashow}bind def /H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /I{0 exch rmoveto show}bind def /J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def /K{0 exch rmoveto 0 exch ashow}bind def /L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /M{rmoveto show}bind def /N{rmoveto 0 SC 3 -1 roll widthshow}bind def /O{rmoveto 0 exch ashow}bind def /P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /Q{moveto show}bind def /R{moveto 0 SC 3 -1 roll widthshow}bind def /S{moveto 0 exch ashow}bind def /T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def /SF{ findfont exch [exch dup 0 exch 0 exch neg 0 0]makefont dup setfont [exch/setfont cvx]cvx bind def }bind def /MF{ findfont [5 2 roll 0 3 1 roll neg 0 0]makefont dup setfont [exch/setfont cvx]cvx bind def }bind def /level0 0 def /RES 0 def /PL 0 def /LS 0 def /MANUAL{ statusdict begin/manualfeed true store end }bind def /PLG{ gsave newpath clippath pathbbox grestore exch pop add exch pop }bind def /BP{ /level0 save def 1 setlinecap 1 setlinejoin 72 RES div dup scale LS{ 90 rotate }{ 0 PL translate }ifelse 1 -1 scale }bind def /EP{ level0 restore showpage }def /DA{ newpath arcn stroke }bind def /SN{ transform .25 sub exch .25 sub exch round .25 add exch round .25 add exch itransform }bind def /DL{ SN moveto SN lineto stroke }bind def /DC{ newpath 0 360 arc closepath }bind def /TM matrix def /DE{ TM currentmatrix pop translate scale newpath 0 0 .5 0 360 arc closepath TM setmatrix }bind def /RC/rcurveto load def /RL/rlineto load def /ST/stroke load def /MT/moveto load def /CL/closepath load def /Fr{ setrgbcolor fill }bind def /setcmykcolor where{ pop /Fk{ setcmykcolor fill }bind def }if /Fg{ setgray fill }bind def /FL/fill load def /LW/setlinewidth load def /Cr/setrgbcolor load def /setcmykcolor where{ pop /Ck/setcmykcolor load def }if /Cg/setgray load def /RE{ findfont dup maxlength 1 index/FontName known not{1 add}if dict begin { 1 index/FID ne{def}{pop pop}ifelse }forall /Encoding exch def dup/FontName exch def currentdict end definefont pop }bind def /DEFS 0 def /EBEGIN{ moveto DEFS begin }bind def /EEND/end load def /CNT 0 def /level1 0 def /PBEGIN{ /level1 save def translate div 3 1 roll div exch scale neg exch neg exch translate 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit []0 setdash /setstrokeadjust where{ pop false setstrokeadjust }if /setoverprint where{ pop false setoverprint }if newpath /CNT countdictstack def userdict begin /showpage{}def /setpagedevice{}def }bind def /PEND{ countdictstack CNT sub{end}repeat level1 restore }bind def end def /setpacking where{ pop setpacking }if %%EndResource %%EndProlog %%BeginSetup %%BeginFeature: *PageSize Default << /PageSize [ 612 792 ] /ImagingBBox null >> setpagedevice %%EndFeature %%IncludeResource: font Times-Roman grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron /scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent /ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen /period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon /semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O /P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex /underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y /z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft /guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl /endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut /dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash /quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen /brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft /logicalnot/minus/registered/macron/degree/plusminus/twosuperior /threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior /ordmasculine/guilsinglright/onequarter/onehalf/threequarters /questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE /Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn /germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla /egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash /ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def /Times-Roman@0 ENC0/Times-Roman RE %%EndSetup %%Page: 1 1 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF()0 12 Q()0 24 Q()36 36 Q (October 5, 2007 CPIO 5)74.5 48 Q()36 72 Q 0 Cg EP %%Page: 2 2 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF()36 48 Q()0 60 Q ()-.15 E 0 Cg EP %%Page: 4 4 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(

)-.35 E -.35(NA)36 24 S (ME).35 E(

)36 36 Q(cpio)0 48 Q 2.5(-f)0 60 S (ormat of cpio archi)-2.5 E .3 -.15(ve \214)-.25 H(les).15 E (

)36 72 Q 0 Cg EP %%Page: 5 5 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(DESCRIPTION)36 12 Q(

)36 24 Q(The)0 36 Q (cpio)0 48 Q(archi)0 60 Q .3 -.15(ve f)-.25 H(ormat collects an) .15 E 2.5(yn)-.15 G(umber of \214les, directories, and other)-2.5 E (\214le system objects \(symbolic links, de)0 72 Q (vice nodes, etc.\) into a single)-.25 E 0 Cg EP %%Page: 6 6 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(stream of bytes.)0 12 Q(

)-.15 E(General F)36 36 Q(ormat)-.15 E(

)36 48 Q (Each \214le system object in a)0 60 Q(cpio)0 72 Q 0 Cg EP %%Page: 7 7 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(archi)0 12 Q .3 -.15(ve c)-.25 H (omprises a header record with basic numeric metadata).15 E(follo)0 24 Q (wed by the full pathname of the entry and the \214le data.)-.25 E (The header record stores a series of inte)0 36 Q(ger v)-.15 E (alues that generally)-.25 E(follo)0 48 Q 2.5(wt)-.25 G(he \214elds in) -2.5 E(struct stat.)0 60 Q(\(See)0 72 Q 0 Cg EP %%Page: 8 8 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(stat\(2\))0 12 Q(for details.\))0 24 Q(The v)0 36 Q(ariants dif)-.25 E (fer primarily in ho)-.25 E 2.5(wt)-.25 G(he)-2.5 E 2.5(ys)-.15 G (tore those inte)-2.5 E(gers)-.15 E(\(binary)0 48 Q 2.5(,o)-.65 G (ctal, or he)-2.5 E(xadecimal\).)-.15 E(The header is follo)0 60 Q (wed by the pathname of the)-.25 E (entry \(the length of the pathname is stored in the header\))0 72 Q 0 Cg EP %%Page: 9 9 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(and an)0 12 Q 2.5<798c>-.15 G(le data.)-2.5 E (The end of the archi)0 24 Q .3 -.15(ve i)-.25 H 2.5(si).15 G (ndicated by a special record with)-2.5 E(the pathname)0 36 Q -.74(``)0 48 S(TRAILER!!!').74 E('.)-.74 E(

)36 60 Q (PWB format)36 72 Q 0 Cg EP %%Page: 10 10 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(

)36 12 Q(XXX An)0 24 Q 2.5(yd)-.15 G (ocumentation of the original PWB/UNIX 1.0 format? XXX)-2.5 E (

)-.15 E(Old Binary F)36 48 Q(ormat) -.15 E(

)36 60 Q(The old binary)0 72 Q 0 Cg EP %%Page: 11 11 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(cpio)0 12 Q (format stores numbers as 2-byte and 4-byte binary v)0 24 Q(alues.)-.25 E(Each entry be)0 36 Q(gins with a header in the follo)-.15 E (wing format:)-.25 E(
)0 48 Q()0 60 Q(
)0
72 Q 0 Cg EP
%%Page: 12 12
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(struct header_old_cpio {)0 12 Q(unsigned short)
20 24 Q(c_magic;)7.5 E(unsigned short)20 36 Q(c_de)7.5 E(v;)-.25 E
(unsigned short)20 48 Q(c_ino;)7.5 E(unsigned short)20 60 Q(c_mode;)7.5
E(unsigned short)20 72 Q(c_uid;)7.5 E 0 Cg EP
%%Page: 13 13
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(unsigned short)20 12 Q(c_gid;)7.5 E
(unsigned short)20 24 Q(c_nlink;)7.5 E(unsigned short)20 36 Q(c_rde)7.5
E(v;)-.25 E(unsigned short)36 48 Q(c_mtime[2];)7.5 E(unsigned short)20
60 Q(c_namesize;)7.5 E(unsigned short)36 72 Q(c_\214lesize[2];)7.5 E 0
Cg EP
%%Page: 14 14
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(};)0 12 Q(
)0 24 Q(
)0 36 Q(
)0 48 Q(

)36 60 Q(The)0 72 Q 0 Cg EP %%Page: 15 15 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(unsigned short)0 12 Q (\214elds here are 16-bit inte)0 24 Q(ger v)-.15 E(alues; the)-.25 E (unsigned int)0 36 Q(\214elds are 32-bit inte)0 48 Q(ger v)-.15 E(alues.)-.25 E(The \214elds are as follo)0 60 Q(ws)-.25 E (

)0 72 Q 0 Cg EP %%Page: 16 16 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(

magic
)0 12 Q(The inte)0 24 Q(ger v)-.15 E(alue octal 070707.)-.25 E(This v)0 36 Q (alue can be used to determine whether this archi)-.25 E .3 -.15(ve i) -.25 H(s).15 E(written with little-endian or big-endian inte)0 48 Q (gers.)-.15 E(

de)0 60 Q(v, ino
) -.25 E(The de)0 72 Q(vice and inode numbers from the disk.)-.25 E 0 Cg EP %%Page: 17 17 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(These are used by programs that read)0 12 Q (cpio)0 24 Q(archi)0 36 Q -.15(ve)-.25 G 2.5(st).15 G 2.5(od)-2.5 G(etermine when tw)-2.5 E 2.5(oe)-.1 G(ntries refer to the same \214le.) -2.5 E(Programs that synthesize)0 48 Q(cpio)0 60 Q(archi)0 72 Q -.15(ve)-.25 G 2.5(ss).15 G(hould be careful to set these to distinct v) -2.5 E(alues for each entry)-.25 E(.)-.65 E 0 Cg EP %%Page: 18 18 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(

mode
)0 12 Q (The mode speci\214es both the re)0 24 Q (gular permissions and the \214le type.)-.15 E(It consists of se)0 36 Q -.15(ve)-.25 G(ral bit \214elds as follo).15 E(ws:)-.25 E(
)0 48 Q(
0170000
)0 60 Q(This masks the \214le type bits.)0 72 Q 0 Cg EP %%Page: 19 19 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(
0140000
)0 12 Q(File type v)0 24 Q (alue for sock)-.25 E(ets.)-.1 E(
0120000
)0 36 Q(File type v)0 48 Q(alue for symbolic links.)-.25 E -.15(Fo)0 60 S 2.5(rs).15 G (ymbolic links, the link body is stored as \214le data.)-2.5 E (
0100000
)0 72 Q 0 Cg EP %%Page: 20 20 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(File type v)0 12 Q(alue for re)-.25 E (gular \214les.)-.15 E(
0060000
)0 24 Q(File type v)0 36 Q (alue for block special de)-.25 E(vices.)-.25 E(
0040000
)0 48 Q (File type v)0 60 Q(alue for directories.)-.25 E(
0020000
)0 72 Q 0 Cg EP %%Page: 21 21 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(File type v)0 12 Q (alue for character special de)-.25 E(vices.)-.25 E(
0010000
)0 24 Q(File type v)0 36 Q(alue for named pipes or FIFOs.)-.25 E (
0004000
)0 48 Q(SUID bit.)0 60 Q(
0002000
)0 72 Q 0 Cg EP %%Page: 22 22 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(SGID bit.)0 12 Q(
0001000
)0 24 Q(Stick)0 36 Q 2.5(yb)-.15 G(it.)-2.5 E(On some systems, this modi\214es the beha) 0 48 Q(vior of e)-.2 E -.15(xe)-.15 G(cutables and/or directories.).15 E (
0000777
)0 60 Q(The lo)0 72 Q(wer 9 bits specify read/write/e) -.25 E -.15(xe)-.15 G(cute permissions).15 E 0 Cg EP %%Page: 23 23 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(for w)0 12 Q(orld, group, and user follo)-.1 E (wing standard POSIX con)-.25 E -.15(ve)-.4 G(ntions.).15 E(
)0 24 Q (

uid, gid
)0 36 Q (The numeric user id and group id of the o)0 48 Q(wner)-.25 E(.)-.55 E (

nlink
)0 60 Q (The number of links to this \214le.)0 72 Q 0 Cg EP %%Page: 24 24 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(Directories al)0 12 Q -.1(wa)-.1 G(ys ha).1 E .3 -.15(ve a v)-.2 H(alue of at least tw)-.1 E 2.5(oh)-.1 G(ere.)-2.5 E (Note that hardlink)0 24 Q(ed \214les include \214le data with e)-.1 E -.15(ve)-.25 G(ry cop).15 E 2.5(yi)-.1 G 2.5(nt)-2.5 G(he archi)-2.5 E -.15(ve)-.25 G(.).15 E(

rde)0 36 Q(v
)-.25 E -.15 (Fo)0 48 S 2.5(rb).15 G(lock special and character special entries,)-2.5 E(this \214eld contains the associated de)0 60 Q(vice number)-.25 E(.) -.55 E -.15(Fo)0 72 S 2.5(ra).15 G (ll other entry types, it should be set to zero by writers)-2.5 E 0 Cg EP %%Page: 25 25 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(and ignored by readers.)0 12 Q (

mtime
)0 24 Q (Modi\214cation time of the \214le, indicated as the number)0 36 Q (of seconds since the start of the epoch,)0 48 Q (00:00:00 UTC January 1, 1970.)0 60 Q(The four)0 72 Q(-byte inte)-.2 E (ger is stored with the most-signi\214cant 16 bits \214rst)-.15 E 0 Cg EP %%Page: 26 26 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(follo)0 12 Q (wed by the least-signi\214cant 16 bits.)-.25 E(Each of the tw)0 24 Q 2.5(o1)-.1 G 2.5(6b)-2.5 G(it v)-2.5 E(alues are stored in machine-nati) -.25 E .3 -.15(ve b)-.25 H(yte order).15 E(.)-.55 E (

namesize
)0 36 Q (The number of bytes in the pathname that follo)0 48 Q(ws the header) -.25 E(.)-.55 E(This count includes the trailing NUL byte.)0 60 Q (

\214lesize
)0 72 Q 0 Cg EP %%Page: 27 27 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(The size of the \214le.)0 12 Q (Note that this archi)0 24 Q .3 -.15(ve f)-.25 H(ormat is limited to).15 E(four gig)0 36 Q(abyte \214le sizes.)-.05 E(See)0 48 Q (mtime)0 60 Q(abo)0 72 Q .3 -.15(ve f)-.15 H (or a description of the storage of four).15 E(-byte inte)-.2 E(gers.) -.15 E 0 Cg EP %%Page: 28 28 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(
)0 12 Q(

)36 24 Q (The pathname immediately follo)0 36 Q(ws the \214x)-.25 E(ed header) -.15 E(.)-.55 E(If the)0 48 Q(namesize)0 60 Q (is odd, an additional NUL byte is added after the pathname.)0 72 Q 0 Cg EP %%Page: 29 29 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF (The \214le data is then appended, padded with NUL)0 12 Q(bytes to an e) 0 24 Q -.15(ve)-.25 G 2.5(nl).15 G(ength.)-2.5 E(

)36 36 Q(Hardlink)0 48 Q(ed \214les are not gi)-.1 E -.15(ve)-.25 G 2.5(ns).15 G (pecial treatment;)-2.5 E (the full \214le contents are included with each cop)0 60 Q 2.5(yo)-.1 G 2.5(ft)-2.5 G(he)-2.5 E(\214le.)0 72 Q 0 Cg EP %%Page: 30 30 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(

)-.15 E (Portable ASCII F)36 24 Q(ormat)-.15 E(

)36 36 Q -1.11(Ve)2.5 48 S (rsion 2 of the Single UNIX Speci\214cation \(`)1.11 E(`SUSv2')-.74 E ('\))-.74 E(standardized an ASCII v)0 60 Q (ariant that is portable across all)-.25 E(platforms.)0 72 Q 0 Cg EP %%Page: 31 31 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(It is commonly kno)0 12 Q(wn as the)-.25 E -.74 (``)0 24 S(old character').74 E(')-.74 E(format or as the)0 36 Q -.74 (``)0 48 S(odc').74 E(')-.74 E(format.)0 60 Q (It stores the same numeric \214elds as the old binary format, b)0 72 Q (ut)-.2 E 0 Cg EP %%Page: 32 32 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF (represents them as 6-character or 11-character octal v)0 12 Q(alues.) -.25 E(
)0 24 Q()0 36 Q(
)0 48 Q
(struct cpio_odc_header {)0 60 Q 7.5(char c_magic[6];)20 72 R 0 Cg EP
%%Page: 33 33
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF 7.5(char c_de)20 12 R(v[6];)-.25 E 7.5
(char c_ino[6];)20 24 R 7.5(char c_mode[6];)20 36 R 7.5(char c_uid[6];)
20 48 R 7.5(char c_gid[6];)20 60 R 7.5(char c_nlink[6];)20 72 R 0 Cg EP
%%Page: 34 34
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF 7.5(char c_rde)20 12 R(v[6];)-.25 E 7.5
(char c_mtime[11];)20 24 R 7.5(char c_namesize[6];)20 36 R 7.5
(char c_\214lesize[11];)20 48 R(};)0 60 Q(
)0 72 Q 0 Cg EP %%Page: 35 35 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(
)0 12 Q(
)0 24 Q(

)36 36 Q (The \214elds are identical to those in the old binary format.)0 48 Q (The name and \214le body follo)0 60 Q 2.5(wt)-.25 G(he \214x)-2.5 E (ed header)-.15 E(.)-.55 E(Unlik)0 72 Q 2.5(et)-.1 G (he old binary format, there is no additional padding)-2.5 E 0 Cg EP %%Page: 36 36 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(after the pathname or \214le contents.)0 12 Q (If the \214les being archi)0 24 Q -.15(ve)-.25 G 2.5(da).15 G (re themselv)-2.5 E(es entirely ASCII, then)-.15 E(the resulting archi)0 36 Q .3 -.15(ve w)-.25 H(ill be entirely ASCII, e).15 E(xcept for the) -.15 E(NUL byte that terminates the name \214eld.)0 48 Q(

)-.15 E(Ne)36 72 Q 2.5(wA)-.25 G (SCII F)-2.5 E(ormat)-.15 E 0 Cg EP %%Page: 37 37 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(

)36 12 Q(The "ne)0 24 Q (w" ASCII format uses 8-byte he)-.25 E(xadecimal \214elds for)-.15 E (all numbers and separates de)0 36 Q (vice numbers into separate \214elds)-.25 E (for major and minor numbers.)0 48 Q(
)0 60 Q() 0 72 Q 0 Cg EP %%Page: 38 38 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(
)0 12 Q(struct cpio_ne)0 24 Q(wc_header {)
-.25 E 7.5(char c_magic[6];)20 36 R 7.5(char c_ino[8];)20 48 R 7.5
(char c_mode[8];)20 60 R 7.5(char c_uid[8];)20 72 R 0 Cg EP
%%Page: 39 39
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF 7.5(char c_gid[8];)20 12 R 7.5(char c_nlink[8];)
20 24 R 7.5(char c_mtime[8];)20 36 R 7.5(char c_\214lesize[8];)20 48 R
7.5(char c_de)20 60 R(vmajor[8];)-.25 E 7.5(char c_de)20 72 R
(vminor[8];)-.25 E 0 Cg EP
%%Page: 40 40
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF 7.5(char c_rde)20 12 R(vmajor[8];)-.25 E 7.5
(char c_rde)20 24 R(vminor[8];)-.25 E 7.5(char c_namesize[8];)20 36 R
7.5(char c_check[8];)20 48 R(};)0 60 Q(
)0 72 Q 0 Cg EP %%Page: 41 41 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(
)0 12 Q(
)0 24 Q(

)36 36 Q (Except as speci\214ed belo)0 48 Q 1.3 -.65(w, t)-.25 H (he \214elds here match those speci\214ed).65 E (for the old binary format abo)0 60 Q -.15(ve)-.15 G(.).15 E (

)0 72 Q 0 Cg EP %%Page: 42 42 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(

magic
)0 12 Q (The string)0 24 Q -.74(``)0 36 S(070701').74 E('.)-.74 E (

check
)0 48 Q(This \214eld is al)0 60 Q -.1(wa) -.1 G(ys set to zero by writers and ignored by readers.).1 E(See the ne) 0 72 Q(xt section for more details.)-.15 E 0 Cg EP %%Page: 43 43 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(
)0 12 Q(

)36 24 Q(The pathname is follo)0 36 Q(wed by NUL bytes so that the total size)-.25 E(of the \214x)0 48 Q (ed header plus pathname is a multiple of four)-.15 E(.)-.55 E(Lik)0 60 Q -.25(ew)-.1 G (ise, the \214le data is padded to a multiple of four bytes.).25 E (Note that this format supports only 4 gig)0 72 Q(abyte \214les \(unlik) -.05 E 2.5(et)-.1 G(he)-2.5 E 0 Cg EP %%Page: 44 44 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(older ASCII format, which supports 8 gig)0 12 Q (abyte \214les\).)-.05 E(

)36 24 Q(In this format, hardlink)0 36 Q (ed \214les are handled by setting the)-.1 E (\214lesize to zero for each entry e)0 48 Q(xcept the last one that)-.15 E(appears in the archi)0 60 Q -.15(ve)-.25 G(.).15 E(

)-.15 E 0 Cg EP %%Page: 45 45 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(Ne)36 12 Q 2.5(wC)-.25 G(RC F)-2.5 E(ormat)-.15 E(

)36 24 Q(The CRC format is identical to the ne)0 36 Q 2.5(wA)-.25 G(SCII format described)-2.5 E(in the pre)0 48 Q(vious section e)-.25 E (xcept that the magic \214eld is set)-.15 E(to)0 60 Q -.74(``)0 72 S (070702').74 E(')-.74 E 0 Cg EP %%Page: 46 46 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(and the)0 12 Q(check)0 24 Q (\214eld is set to the sum of all bytes in the \214le data.)0 36 Q (This sum is computed treating all bytes as unsigned v)0 48 Q(alues)-.25 E(and using unsigned arithmetic.)0 60 Q (Only the least-signi\214cant 32 bits of the sum are stored.)0 72 Q 0 Cg EP %%Page: 47 47 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(

)-.25 E(HP v)36 24 Q(ariants)-.25 E(

)36 36 Q(The)0 48 Q(cpio)0 60 Q (implementation distrib)0 72 Q(uted with HPUX used XXXX b)-.2 E (ut stored)-.2 E 0 Cg EP %%Page: 48 48 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(de)0 12 Q(vice numbers dif)-.25 E(ferently XXX.) -.25 E(

)-1.11 E (Other Extensions and V)36 36 Q(ariants)-1.11 E(

)36 48 Q (Sun Solaris uses additional \214le types to store e)0 60 Q (xtended \214le)-.15 E(data, including A)0 72 Q(CLs and e)-.4 E (xtended attrib)-.15 E(utes, as special)-.2 E 0 Cg EP %%Page: 49 49 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(entries in cpio archi)0 12 Q -.15(ve)-.25 G(s.) .15 E(

)36 24 Q(XXX Others? XXX)0 36 Q(

)-.1 E -.1(BU)36 60 S(GS).1 E(

)36 72 Q 0 Cg EP %%Page: 50 50 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(The)0 12 Q -.74(``)0 24 S(CRC').74 E(')-.74 E (format is mis-named, as it uses a simple checksum and)0 36 Q(not a c)0 48 Q(yclic redundanc)-.15 E 2.5(yc)-.15 G(heck.)-2.5 E(

)36 60 Q (The old binary format is limited to 16 bits for user id,)0 72 Q 0 Cg EP %%Page: 51 51 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(group id, de)0 12 Q(vice, and inode numbers.) -.25 E(It is limited to 4 gig)0 24 Q(abyte \214le sizes.)-.05 E(

)36 36 Q(The old ASCII format is limited to 18 bits for)0 48 Q (the user id, group id, de)0 60 Q(vice, and inode numbers.)-.25 E (It is limited to 8 gig)0 72 Q(abyte \214le sizes.)-.05 E 0 Cg EP %%Page: 52 52 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(

)36 12 Q(The ne)0 24 Q 2.5(wA)-.25 G (SCII format is limited to 4 gig)-2.5 E(abyte \214le sizes.)-.05 E(

) 36 36 Q(None of the cpio formats store user or group names,)0 48 Q (which are essential when mo)0 60 Q(ving \214les between systems with) -.15 E(dissimilar user or group numbering.)0 72 Q 0 Cg EP %%Page: 53 53 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(

)36 12 Q (Especially when writing older cpio v)0 24 Q (ariants, it may be necessary)-.25 E(to map actual de)0 36 Q (vice/inode v)-.25 E(alues to synthesized v)-.25 E(alues that)-.25 E (\214t the a)0 48 Q -.25(va)-.2 G(ilable \214elds.).25 E -.4(Wi)0 60 S (th v).4 E(ery lar)-.15 E(ge \214lesystems, this may be necessary e)-.18 E -.15(ve)-.25 G 2.5(nf).15 G(or)-2.5 E(the ne)0 72 Q(wer formats.)-.25 E 0 Cg EP %%Page: 54 54 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(

)36 12 Q(SEE ALSO)36 24 Q (

)36 36 Q(cpio\(1\),)0 48 Q (tar\(5\))-.55 E(

)-.4 E 0 Cg EP %%Page: 55 55 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(ST)36 12 Q(AND)-.93 E(ARDS)-.4 E(

)36 24 Q (The)0 36 Q(cpio)0 48 Q (utility is no longer a part of POSIX or the Single Unix Standard.)0 60 Q(It last appeared in)0 72 Q 0 Cg EP %%Page: 56 56 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -1.11(Ve)2.5 12 S (rsion 2 of the Single UNIX Speci\214cation \(`)1.11 E(`SUSv2')-.74 E ('\) .)-.74 E(It has been supplanted in subsequent standards by)0 24 Q (pax\(1\).)0 36 Q(The portable ASCII fo\ rmat is currently part of the speci\214cation for the)0 48 Q (pax\(1\))0 60 Q(utility)0 72 Q(.)-.65 E 0 Cg EP %%Page: 57 57 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(

)-.65 E(HIST) 36 24 Q(OR)-.18 E(Y)-.65 E(

)36 36 Q(The original cpio utility w)0 48 Q(as written by Dick Haight)-.1 E(while w)0 60 Q(orking in A)-.1 E (T&T')-1.11 E 2.5(sU)-.55 G(nix Support Group.)-2.5 E (It appeared in 1977 as part of PWB/UNIX 1.0, the)0 72 Q 0 Cg EP %%Page: 58 58 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.74(``)0 12 S(Programmer').74 E 2.5(sW)-.55 G (ork Bench')-3.3 E(')-.74 E(deri)0 24 Q -.15(ve)-.25 G 2.5(df).15 G(rom) -2.5 E -1.11(Ve)0 36 S(rsion 6 A)1.11 E(T&T UNIX)-1.11 E (that w)0 48 Q(as used internally at A)-.1 E(T&T)-1.11 E(.)-.74 E (Both the old binary and old character formats were in use)0 60 Q (by 1980, according to the System III source released)0 72 Q 0 Cg EP %%Page: 59 59 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(by SCO under their)0 12 Q -.74(``)0 24 S (Ancient Unix')-.06 E(')-.74 E(license.)0 36 Q(The character format w)0 48 Q(as adopted as part of)-.1 E(IEEE Std 1003.1-1988 \(`)2.5 60 Q (`POSIX.1')-.74 E('\) .)-.74 E(XXX when did "ne)0 72 Q(wc" appear?)-.25 E(Who in)5 E -.15(ve)-.4 G(nted it?).15 E (When did HP come out with their v)5 E 2.5(ariant? When)-.25 F (did Sun introduce A)2.5 E(CLs and e)-.4 E(xtended attrib)-.15 E (utes? XXX)-.2 E 0 Cg EP %%Page: 60 60 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF()0 12 Q()0 24 Q 0 Cg EP %%Trailer end %%EOF