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