<> <> <> <> <> <> <> <> <<>> DIRECTORY LupineManagerPrivate USING [Language, Nest, Options, String, StringNIL], LupineMarshal USING [ParamInfoObject, PktSite, TransferDeclaration, TransferSite], LupineSymbolTable USING [SymbolHandle, TypeHandle, TypeInfo]; LupineDeclare: DEFINITIONS = BEGIN OPEN LupineManagerPrivate, Marshal: LupineMarshal, ST: LupineSymbolTable; TransferInfo: TYPE = Transfer ST.TypeInfo; <> TransferName: PROCEDURE [transfer: ST.SymbolHandle] RETURNS[name: String]; WriteTransferName: PROCEDURE [transfer: ST.SymbolHandle]; ParameterName: PROCEDURE [ parameter: ST.SymbolHandle, parameterNumber: INTEGER] RETURNS [name: String]; WriteParameterName: PROCEDURE [ parameter: ST.SymbolHandle, parameterNumber: INTEGER]; WriteSymbolName: PROCEDURE [symbol: ST.SymbolHandle]; WriteSymbolType: PROCEDURE [symbol: ST.SymbolHandle]; WriteTypeName: PROCEDURE [type: ST.TypeHandle, includeReadonly: BOOLEAN_TRUE, extraFirstArg: String _ NIL]; GetArgResultInfo: PROCEDURE [ transferInfo: TransferInfo, transferDeclaration: TransferDeclaration, transferSite: TransferSite, pktSite: PktSite, options: Options ] RETURNS [argInfo, resultInfo: ParamInfo]; GetTransferInfo: PROCEDURE [typeHandle: ST.TypeHandle] RETURNS[--transferInfo:-- TransferInfo] ; <> DirectoryItem: TYPE = RECORD [ module: String, inhibit: BOOL _ FALSE, -- if TRUE, inhibit processing of this directory item usingAll, usingSome: String_StringNIL, -- Use just one, not both. openName: String_StringNIL, usedIn: PACKED ARRAY InterfaceUse OF FalseBoolean_ALL[FALSE], forLanguage: PACKED ARRAY Language OF FalseBoolean_ALL[TRUE], outOfLineMarshalOnly: BOOL_FALSE ]; InterfaceUse: TYPE = {imports, exports, shares, beginOpen}; FalseBoolean: TYPE = BOOLEAN _ FALSE; DirectoryList: TYPE = LONG DESCRIPTOR FOR READONLY ARRAY OF DirectoryItem; EmptyDirectoryList: DirectoryList = NIL; ModuleNameList: TYPE = LONG DESCRIPTOR FOR READONLY ARRAY OF String; Directory: PROCEDURE [ includeInterfaceDirectory: BOOLEAN_TRUE, extraDirectories: DirectoryList_EmptyDirectoryList, options: Options, nest: Nest_0 ]; ModuleHead: PROCEDURE [ moduleNames: ModuleNameList, moduleType: String, interfaceList: DirectoryList_EmptyDirectoryList, options: Options, nest: Nest_0, noOutputFiles: INT _ 1]; InterfaceList: PROCEDURE [ use: InterfaceUse, targetSystem: Language, interfaceList: DirectoryList, beginText, endText: String_StringNIL, options: Options, nest: Nest ]; <> ImportExport: TYPE = {import, export}; BindingInterface: PROCEDURE [options: Options]; BindingRoutinesStandard: PROCEDURE [kind: ImportExport, options: Options]; BindingRoutinesDynamic: PROCEDURE [kind: ImportExport, options: Options]; BindingRoutinesPrivate: PROCEDURE [kind: ImportExport, options: Options]; <> ProcedureIndex: PROCEDURE [nest: Nest_1]; SignalIndex: PROCEDURE [nest: Nest_1]; DispatcherType: TYPE = {client, server, callback, none}; DispatcherHead: PROCEDURE [type: DispatcherType, nest: Nest]; DispatcherSelect: PROCEDURE [type: DispatcherType, nest: Nest]; DispatcherTail: PROCEDURE [type: DispatcherType, nest: Nest]; <> ParamInfo: TYPE = REF --READONLY-- Marshal.ParamInfoObject; TransferDeclaration: TYPE = Marshal.TransferDeclaration; TransferSite: TYPE = Marshal.TransferSite; PktSite: TYPE = Marshal.PktSite; ProcedureStub: PROCEDURE [ transfer: ST.SymbolHandle, transferType: ST.TypeHandle, transferDeclaration: TransferDeclaration, signalDispatcherType: DispatcherType, options: Options, nest: Nest ]; DispatcherStubArm: PROCEDURE [ transfer: ST.SymbolHandle, transferType: ST.TypeHandle, transferDeclaration: TransferDeclaration, options: Options, nest: Nest ]; DispatcherStubBody: PROCEDURE [ transfer: ST.SymbolHandle, transferType: ST.TypeHandle, transferDeclaration: TransferDeclaration, inlineBody: BOOLEAN, options: Options, nest: Nest ]; SignalCode: PROCEDURE [ transfer: ST.SymbolHandle, transferType: ST.TypeHandle, transferDeclaration: TransferDeclaration, options: Options, nest: Nest ]; SignalCatchStub: PROCEDURE [ transfer: ST.SymbolHandle, transferType: ST.TypeHandle, transferDeclaration: TransferDeclaration, signalDispatcherType: DispatcherType _ none, options: Options, nest: Nest ]; END. -- LupineDeclare.