|
|
1.1 ! root 1: Title: Courier ! 2: ! 3: Author: Eric C. Cooper ! 4: ! 5: Address: Computer Science Division, EECS ! 6: University of California ! 7: Berkeley, CA 94720 ! 8: ! 9: Net address: cooper@berkeley (ARPA) ! 10: ucbvax!cooper (UUCP) ! 11: ! 12: Description: ! 13: ! 14: This is the Courier remote procedure call protocol for Berkeley UNIX ! 15: (version 4.2). Courier is both a protocol and a specification ! 16: language. The protocol specifies how remote procedures are invoked and ! 17: how parameters and results of various data types are transmitted. The ! 18: specification language, somewhat reminiscent of Mesa, provides a simple ! 19: way of defining the remote interfaces of distributed programs. ! 20: ! 21: Warning: ! 22: ! 23: Complicated Courier types are sometimes incorrectly translated into C. ! 24: Until the next release, this can be avoided by always "factoring out" subtypes ! 25: as named types in their own right. ! 26: ! 27: -- For example, use this: ! 28: ! 29: ChoiceType : TYPE = CHOICE OF { ! 30: a (0) => INTEGER, ! 31: b (1) => LONG CARDINAL, ! 32: c (2) => STRING ! 33: }; ! 34: T : TYPE = SEQUENCE OF ChoiceType; ! 35: ! 36: -- rather than this: ! 37: ! 38: T : TYPE = SEQUENCE OF CHOICE OF { ! 39: a (0) => INTEGER, ! 40: b (1) => LONG CARDINAL, ! 41: c (2) => STRING ! 42: }; ! 43:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.