/* RPC.h
C Public interface to a lightweight RPC runtime
Last modified by D. Swinehart, 20 July 1982 9:38 am PDT */
/* Requires #include <env.h> */
#define maxRNameLength 64
#define maxShortStringLength 64
#define maxPrincipalLength 64
struct VersionRange {
word first;
word last; };
struct InterfaceName {
struct ShortSTRING *type; /* e.g., "Lark.Lark" */
struct ShortSTRING *instance; /* e.g., "173#6#" */
struct VersionRange version; };
#define lenInterfaceName (sizeof(struct InterfaceName)/2)
struct EncryptionKey {
char ekNib[8]; };
#define lenEncryptionKey (sizeof(struct EncryptionKey)/2)
struct IV {
int blob [4]; };
#define lenIV (sizeof (struct IV)/2)
#define unencrypted 0
/* conversation handle for unencrypted request */
/* AuthenticateFailed: ERROR[why: AuthenticateFailure */
#define badCommunications 1
#define badCaller 2
#define badKey 3
#define badCallee 4
/* ExportFailed: ERROR[why: ExportFailure */
/* badCommunications, */
#define badType 5
#define badInstance 6
#define badVersion 7
#define tooMany 8
#define badCredentials 9
/* ImportFailed: ERROR[why: ImportFailure */
/* badCommunications, badType, badInstance, badVersion, */
#define wrongVersion 10
#define interfaceUnbound 11
#define badStubProtocol 12
/* CallFailed: ERROR [why: CallFailure */
/* unbound, */
#define timeout 13
#define busy 14
#define runtimeProtocol 15
#define stubProtocol 16
#define badArgs 17
/* SecurityLevel: TYPE = { */
#define slNone 0
#define slAuthOnly (1<<8)
#define slECB (2<<8)
#define slCBC (3<<8)
#define slCBCCheck (4<<8)