ref: babf901b4a508c3ec5d1f89655f10377bbdf9637
dir: /appl/cmd/install/arch.m/
Arch : module
{
PATH : con "/dis/install/arch.dis";
Ahdr : adt {
name : string;
modestr : string;
d : ref Sys->Dir;
};
Archive : adt {
b : ref Bufio->Iobuf;
nexthdr : int;
canseek : int;
pid : int;
hdr : ref Ahdr;
err : string;
};
init: fn(bio: Bufio);
openarch: fn(name : string) : ref Archive;
openarchfs: fn(name : string) : ref Archive;
openarchgz: fn(name : string) : (string, ref Sys->FD);
gethdr: fn(ar : ref Archive) : ref Ahdr;
getfile: fn(ar : ref Archive, bout : ref Bufio->Iobuf, n : int) : string;
drain: fn(ar : ref Archive, n : int) : int;
closearch: fn(ar : ref Archive);
puthdr: fn(b : ref Bufio->Iobuf, name : string, d : ref Sys->Dir);
putstring: fn(b : ref Bufio->Iobuf, s : string);
putfile: fn(b : ref Bufio->Iobuf, f : string, n : int) : string;
putend: fn(b : ref Bufio->Iobuf);
addperms: fn(p: int);
};