xref: /inferno-os/module/ida.m (revision 0e96539ff7cff23233d3f0a64bb285b385a3a1f4)
1Ida: module
2{
3	PATH: con "/dis/lib/ida/ida.dis";
4
5	Frag: adt {
6		dlen:	int;	# length of original data
7		m:	int;	# minimum pieces for reconstruction
8		a:	array of int;	# encoding array row for this fragment
9		enc:	array of int;	# encoded data
10
11		tag:	array of byte;	# user data, such as SHA1 hash
12	};
13
14	init:	fn();
15	fragment:	fn(data: array of byte, m: int): ref Frag;
16	consistent:	fn(frags: array of ref Frag): array of ref Frag;
17	reconstruct:	fn(frags: array of ref Frag): (array of byte, string);
18};
19
20Idatab: module
21{
22	PATH: con "/dis/lib/ida/idatab.dis";
23	init:	fn(): array of int;
24};
25