<> <> <> <> <> <> DIRECTORY FS USING [OpenFile, nullOpenFile], Rope USING [ROPE]; LupineManager: DEFINITIONS = BEGIN <> String: TYPE = Rope.ROPE _ StringNIL; StringNIL: String = NIL; -- Explicit nonNIL constant needed for INLINEs. <> <> <> <> <> <> TranslateRemoteInterface: PROCEDURE [ interfaceBcdFilename: String --Truth if capability is null, else just for error messages--, interfaceBcdCapability: FS.OpenFile _ FS.nullOpenFile, errorHandler: ErrorHandlerProc, options: Options, desiredLineLength: LONG INTEGER _ 82 ]; Options: TYPE = REF OptionsRec; OptionsRec: TYPE = RECORD [ targetLanguage: Language _ Cedar, defaultParamPassing: ParamPassingMethod _ Value, freeServerArguments: BOOLEAN _ TRUE, inlineServerDispatcherStubs: BOOLEAN _ TRUE, inlineMarshal: BOOLEAN _ TRUE, inlinePacketAllocateCount: INT _ 1000, inlineRopeMarshal: BOOLEAN _ TRUE, maxHeapAllocations, maxMdsAllocations: LONG INTEGER _ 50, declareSignals: BOOLEAN _ TRUE, warnMDSAllocs: BOOLEAN _ TRUE, importMultiple: BOOLEAN _ TRUE, noClientModulesOut: INT _ 1]; Language: TYPE = {Cedar, Mesa}; ParamPassingMethod: TYPE = {Var, Value, Result, Handle, InterMds}; <> <> <> <> <> <> <> <> <> ErrorHandlerProc: TYPE = --INTERNAL-- PROCEDURE [ type: ErrorType, code: ErrorCode, codeExplanation: String, outputFileName: String_StringNIL, outputFileCharPosition: LONG INTEGER, problemCausingText: String_StringNIL ] RETURNS [abortTranslation: BOOLEAN_FALSE]; ErrorType: TYPE = {abort, error, warning}; ErrorCode: TYPE = { AnonymousIdentifier, BadBcdFileFormat, BadBcdFileVersion, ComputedSequence, ComputedVariant, EmbeddedRESULT, EmptyArray, HandleREF, ImproperPassingMethod, ImproperReadonlyRESULT, ImproperRESULTResult, InterfaceVariables, InvalidHandle, MdsAllocation, NoSuchFile, NotInterfaceModule, ProbablePointerRecursion, SequenceInsideVariant, ShortInterMdsPointers, TransferParameter, UnimplementedMarshaling, Unknown, UnsupportedTransfers }; END. -- LupineManager.