|
|
1.1 root 1: Clearinghouse: PROGRAM 2 VERSION 2 =
2:
3: -- fake ch for testing --
4:
5: BEGIN
6: DEPENDS UPON
7: BulkData (0) VERSION 1,
8: Authentication (14) VERSION 1;
9:
10: Organization: TYPE = STRING;
11: Domain: TYPE = STRING;
12: Object: TYPE = STRING;
13:
14: NetworkAddress: TYPE = RECORD [
15: network: ARRAY 2 OF UNSPECIFIED,
16: host: ARRAY 3 OF UNSPECIFIED,
17: socket: UNSPECIFIED ];
18:
19: NetworkAddressList: TYPE = SEQUENCE 40 OF NetworkAddress;
20:
21: ThreePartName: TYPE = RECORD[
22: Organization: Organization,
23: domain: Domain,
24: object: Object ];
25:
26: ObjectName: TYPE = ThreePartName;
27:
28: ObjectNamePattern: TYPE = ThreePartName;
29:
30: Authenticator: TYPE = RECORD [
31: credentials: Authentication.Credentials,
32: verifier: Authentication.Verifier ];
33:
34: -- error stuff --
35:
36: WhichArgument: TYPE = {first(1), second(2) };
37: ArgumentProblem: TYPE = CARDINAL;
38: CallProblem: TYPE = {
39: accessRightsInsufficient(1),
40: tooBusy(2),
41: serverDown(3),
42: useCourier(4),
43: other(5) };
44:
45: CallError: ERROR [problem: CallProblem] = 1;
46: ArgumentError: ERROR[problem: ArgumentProblem, which: WhichArgument] = 2;
47: AuthenticationError: ERROR[problem:Authentication.Problem] = 6;
48: WrongServer: ERROR [hint: ObjectName] = 5;
49:
50: RetrieveAddresses: PROCEDURE
51: RETURNS [addresses: NetworkAddressList]
52: REPORTS [CallError] = 0;
53:
54: LookupObject: PROCEDURE [name: ObjectNamePattern, agent: Authenticator]
55: RETURNS [distinguishedObject: ObjectName]
56: REPORTS [ArgumentError, AuthenticationError, CallError, WrongServer]
57: = 4;
58:
59: ListDomainsServed: PROCEDURE [list: BulkData.Sink, agent: Authenticator]
60: REPORTS [ArgumentError, AuthenticationError, CallError ] = 7;
61: END.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.