summaryrefslogtreecommitdiff
path: root/module/ida.m
blob: f2503dd7d1d206c3d7e0e05b5828e68ccb8315ef (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
Ida: module
{
	PATH: con "/dis/lib/ida/ida.dis";

	Frag: adt {
		dlen:	int;	# length of original data
		m:	int;	# minimum pieces for reconstruction
		a:	array of int;	# encoding array row for this fragment
		enc:	array of int;	# encoded data

		tag:	array of byte;	# user data, such as SHA1 hash
	};

	init:	fn();
	fragment:	fn(data: array of byte, m: int): ref Frag;
	consistent:	fn(frags: array of ref Frag): array of ref Frag;
	reconstruct:	fn(frags: array of ref Frag): (array of byte, string);
};

Idatab: module
{
	PATH: con "/dis/lib/ida/idatab.dis";
	init:	fn(): array of int;
};