|
|
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.