%!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()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()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 (
)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(
)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()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(
)
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()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 (
)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(
)36 24 Q(XXX Others? XXX)0 36 Q(
)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(
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