<> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> DIRECTORY CedarNSPrint, RPC USING [defaultInterfaceName, EncryptionKey, InterfaceName, Principal, standardZones, VersionRange, Zones]; CedarNSPrintRpcControl: DEFINITIONS SHARES CedarNSPrint = BEGIN OPEN CedarNSPrint, RpcPublic: RPC; <> InterfaceName: TYPE = RpcPublic.InterfaceName; VersionRange: TYPE = RpcPublic.VersionRange; Principal: TYPE = RpcPublic.Principal; EncryptionKey: TYPE = RpcPublic.EncryptionKey; Zones: TYPE = RpcPublic.Zones; defaultInterfaceName: InterfaceName = RpcPublic.defaultInterfaceName; standardZones: Zones = RpcPublic.standardZones; <> ImportInterface: SAFE PROCEDURE [ interfaceName: InterfaceName _ defaultInterfaceName, parameterStorage: Zones _ standardZones ]; UnimportInterface: PROCEDURE; ExportInterface: SAFE PROCEDURE [ interfaceName: InterfaceName _ defaultInterfaceName, user: Principal, password: EncryptionKey, parameterStorage: Zones _ standardZones ]; UnexportInterface: SAFE PROCEDURE; <> ImportNewInterface: SAFE PROCEDURE [ interfaceName: InterfaceName _ defaultInterfaceName, parameterStorage: Zones _ standardZones ] RETURNS [interfaceRecord: InterfaceRecord]; <> <> <> NewInterfaceRecord: SAFE PROCEDURE RETURNS [interfaceRecord: InterfaceRecord]; InterfaceRecord: TYPE = REF InterfaceRecordObject; InterfaceRecordObject: TYPE = RECORD [ Error: ERROR [why: ErrorRecord], Print: PROCEDURE [master: Source, printAttributes: PrintAttributes, printOptions: PrintOptions, systemElement: SystemElement] RETURNS [printRequestID: RequestID], GetPrinterProperties: PROCEDURE [systemElement: SystemElement] RETURNS [properties: PrinterProperties], GetPrinterStatus: PROCEDURE [systemElement: SystemElement] RETURNS [status: PrinterStatus], GetPrintRequestStatus: PROCEDURE [printRequestID: RequestID, systemElement: SystemElement] RETURNS [status: RequestStatus], AddressTranslationStringToNetworkAddress: PROCEDURE [name: LONG STRING] RETURNS [systemElement: SystemElement, chUsed: BOOLEAN], lupineDetails: PRIVATE REF LupineDetailsObject_NIL]; LupineDetailsObject: PRIVATE TYPE; <> LupineProtocolVersion: PUBLIC VersionRange = [first: 1, last: 1]; InterMdsCallsOnly: PUBLIC BOOLEAN = FALSE; ProcedureIndex: PRIVATE TYPE = MACHINE DEPENDENT { LupineUnusedIndex (0), LupineLastIndex (3), Print (4), GetPrinterProperties (5), GetPrinterStatus (6), GetPrintRequestStatus (7), AddressTranslationStringToNetworkAddress (8)}; SignalIndex: PRIVATE TYPE = MACHINE DEPENDENT { LupineUnusedIndex (0), LupineLastIndex (3), Error (4)}; END. -- CedarNSPrintRpcControl.