blob: 03837445d15e31d1eb4b725cfda6b6a26ab4166a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
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);
};
|