|
|
1.1 root 1: \File{grind2b\-3b.c},{22:23},{Jun 12 1988}
2: \L{\LB{...}}
3: \L{\LB{}}
4: \L{\LB{\K{int} OP1 (), ..., OPn ();}}
5: \L{\LB{}}
6: \L{\LB{}}
7: \L{\LB{\C{}\/* OPERATIONS are numbered APDU\_OPx, where each is a unique integer. Further,}}
8: \L{\LB{ APDU\_UNKNOWN is used as a tag different than any valid operation.}}
9: \L{\LB{}}
10: \L{\LB{ ERRORS are numbered ERROR\_xyz, where each is a unique integer.}}
11: \L{\LB{ ERROR\_MISTYPED is used to signal an argument error to an operation.}}
12: \L{\LB{ Further, ERROR\_UNKNOWN is used as a tag to indicate that the operation}}
13: \L{\LB{ succeeded.}}
14: \L{\LB{}}
15: \L{\LB{ Finally, note that rox \-\> rox\_args is updated in place by these routines.}}
16: \L{\LB{ If the routine returns ERROR\_UNKNOWN, then rox\_args contains the results}}
17: \L{\LB{ of the operation. If the routine returns ERROR\_MISTYPED, then rox\_args is}}
18: \L{\LB{ untouched. Otherwise, if the routine returns any other value, then}}
19: \L{\LB{ rox\_args contains the parameters of the error which occurred. Obviously,}}
20: \L{\LB{ each routine calls ROXFREE prior to setting rox\_args to a new value.}}
21: \L{\LB{ *\/\CE{}}}
22: \L{\LB{}}
23: \L{\LB{\K{static} \K{struct} dispatch \{}}
24: \L{\LB{ \K{int} ds\_operation;}}
25: \L{\LB{ IFP ds\_vector;}}
26: \L{\LB{\} dispatches[] = \{}}
27: \L{\LB{ APDU\_OP1, OP1,}}
28: \L{\LB{}}
29: \L{\LB{...}}
30: \L{\LB{}}
31: \L{\LB{ APDU\_OPn, OPn,}}
32: \L{\LB{}}
33: \L{\LB{ APDU\_UNKNOWN}}
34: \L{\LB{\};}}
35: \L{\LB{}}
36: \L{\LB{...}}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.