--| --|Item: Ada PCTE Binding --|$Revision: 0.2 $ --|$State: Prototype $ --| --|The Version Description Document (VDD) included with this release provides --|detailed information regarding the condition of the software. The "User --|Feedback" section of the VDD describes how to obtain additional information. --| --|Distribution Statement "A", per DoD Directive 5230.24 --|Authorized for public release; distribution is unlimited. --| --|Copyright (c) 1992, Paramax Systems Corporation, Reston, Virginia --|Copyright is assigned to the U.S. Government, upon delivery thereto, --|in accordance with the DFAR Special Works Clause. --| --|Developed by: Paramax Systems Corporation, --| --|This software, developed under the Software Technology for Adaptable, --|Reliable Systems (STARS) program, is approved for release under --|Distribution "A" of the Scientific and Technical Information Program --|Classification Scheme (DoD Directive 5230.24) unless otherwise indicated. --|Sponsored by the U.S. Defense Advanced Research Projects Agency (DARPA) --|under contract F19628-88-D-0031, the STARS program is supported by the --|military services, SEI, and MITRE, with the U.S. Air Force as the executive --|contracting agent. --| --|Permission to use, copy, modify, and comment on this software and its --|documentation for purposes stated under Distribution "A" and without fee --|is hereby granted, provided that this notice appears in each whole or --|partial copy. This software retains Contractor indemnification to --|the Government regarding copyrights pursuant to the above referenced --|STARS contract. The Government disclaims all responsibility against --|liability, including costs and expenses for violation of proprietary --|rights, or copyrights arising out of the creation or use of this --|software. --| --|In addition, the Government, Paramax, and its subcontractors disclaim all --|warranties with regard to this software, including all implied warranties --|of merchantability and fitness, and in no event shall the Government, --|Paramax, or its subcontractor(s) be liable for any special, indirect or --|consequential damages or any damages whatsoever resulting from the loss of --|use, data, or profits, whether in action of contract, negligence or other --|tortious action, arising in connection with the use or performance of this --|software. --| --|$Log $ --| -- Version Information -- ^^^^^^^^^^^^^^^^^^^ -- -- PCTE - Ada Language Interface. -- Version: 0.2. -- Release Date: November 30, 1992. -- Compiled under SUN OS 4.1.2 using SunAda 1.0 -- -- -- General Information -- ^^^^^^^^^^^^^^^^^^^ -- -- This is an alpha release of the Paramax STARS Ada binding to Emeraude's -- PCTE 1.5 using the ECMA PCTE Ada binding specifications. The binding -- is incomplete in this release. See the Version Description Document -- provided with this alpha release for information on which interfaces -- have been implemented. It is expected that future releases will -- expand the number of interfaces implemented. The interfaces defined -- herein are subject to change. -- -- For further information, contact the authors: -- -- -- Robert Smith -- Paramax Systems Corp. -- Valley Forge Labs -- 70 E. Swedesford Road -- Paoli, PA. 19301 -- smith@prc.unisys.com (current) -- smith@vfl.paramax.com (future) -- +1 215 648-2402 -- -- Michael Horton -- Paramax Systems Corp. -- Valley Forge Labs -- 70 E. Swedesford Road -- Paoli, PA. 19301 -- horton@prc.unisys.com (current) -- horton@vfl.paramax.com (future) -- +1 215 648-2527 -- -- with unchecked_conversion; package body error is -- these type definitions must match the private type defs in -- pcte_error for this to work. type err_handle_rec is record to_record : boolean; to_raise : boolean; last_error : pcte_error.error_code; errno : integer; end record; type err_handle is access err_handle_rec; function to_eh is new unchecked_conversion ( source => pcte_error.handle, target => err_handle); procedure set_error ( status : in pcte_error.handle; code : in pcte_error.error_code; errno : in integer) is tmp : err_handle := to_eh (status); begin tmp.last_error := code; tmp.errno := errno; end set_error; function get_errno (status : in pcte_error.handle) return integer is tmp : err_handle := to_eh (status); begin return tmp.errno; end get_errno; procedure process_status_info ( status : in pcte_error.handle; code : in pcte_error.error_code := pcte_error.NO_ERROR; errno : in integer := 0) is use Pcte_error; begin if pcte_error.will_record (status) then set_error (status, code, errno); end if; if pcte_error.will_raise (status) then case code is when NO_ERROR => return; when ACCESS_CONTROL_IS_NOT_GRANTED => raise ERROR_WITH_STATE; when ACCESS_MODE_IS_NOT_ALLOWED => raise ERROR_WITH_STATE; when ACCOUNTING_LOG_IS_NOT_ACTIVE => raise ERROR_WITH_USAGE; when ACTIVITY_STATUS_IS_INVALID => raise ERROR_WITH_STATE; when ACTIVITY_WAS_NOT_STARTED_BY_CALLING_PROCESS => raise ERROR_WITH_USAGE; when ARCHIVE_HAS_ARCHIVED_OBJECTS => raise ERROR_WITH_USAGE; when ARCHIVE_IS_INVALID_ON_DEVICE => raise ERROR_WITH_USAGE; when ATTRIBUTE_TYPE_IS_INVALID => raise ERROR_WITH_IDENTIFICATION; when ATTRIBUTE_TYPE_IS_NOT_APPLIED_TO_OBJECT_OR_LINK_TYPE => raise ERROR_WITH_USAGE; when ATTRIBUTE_VALUE_LIMIT_WOULD_BE_EXCEEDED => raise ERROR_WITH_PARAMETER; when AUDIT_FILE_IS_NOT_ACTIVE => raise ERROR_WITH_USAGE; when AUDIT_FILE_RECORD_LENGTH_LIMIT_WOULD_BE_EXCEEDED => raise ERROR_WITH_PARAMETER; when BREAKPOINT_IS_NOT_DEFINED => raise ERROR_WITH_IDENTIFICATION; when CARDINALITY_IS_INVALID => raise ERROR_WITH_USAGE; when CATEGORY_IS_BAD => raise ERROR_WITH_PARAMETER; when CONFIDENTIALITY_CONFINEMENT_WOULD_BE_VIOLATED => raise ERROR_WITH_STATE; when CONFIDENTIALITY_LABEL_CRITERION_IS_NOT_SELECTED => raise ERROR_WITH_USAGE; when CONFIDENTIALITY_WOULD_BE_VIOLATED => raise ERROR_WITH_STATE; when CONNECTION_IS_DENIED => raise ERROR_WITH_NETWORK; when CONSUMER_GROUP_IS_IN_USE => raise ERROR_WITH_STATE; when CONSUMER_GROUP_IS_KNOWN => raise ERROR_WITH_STATE; when CONSUMER_GROUP_IS_UNKNOWN => raise ERROR_WITH_IDENTIFICATION; when CONTENTS_IS_NOT_EMPTY => raise ERROR_WITH_STATE; when CONTENTS_IS_NOT_OPEN => raise ERROR_WITH_STATE; when CONTENTS_OPERATION_IS_INVALID => raise ERROR_WITH_STATE; when CONTROL_IS_NOT_GRANTED => raise ERROR_WITH_STATE; when DATA_ARE_NOT_AVAILABLE => raise ERROR_WITH_STATE; when DESTINATION_OBJECT_TYPE_IS_INVALID => raise ERROR_WITH_IDENTIFICATION; when DEVICE_EXISTS => raise ERROR_WITH_USAGE; when DEVICE_IS_BUSY => raise ERROR_WITH_DEVICE; when DEVICE_IS_IN_USE => raise ERROR_WITH_DEVICE; when DEVICE_IS_UNKNOWN => raise ERROR_WITH_IDENTIFICATION; when DEVICE_SPACE_IS_FULL => raise ERROR_WITH_DEVICE; when DISCRETIONARY_ACCESS_IS_NOT_GRANTED => raise ERROR_WITH_STATE; when DISCRETIONARY_GROUP_ALREADY_HAS_THIS_SUBGROUP => raise ERROR_WITH_USAGE; when DISCRETIONARY_GROUP_IDENTIFIER_IS_IN_USE => raise ERROR_WITH_USAGE; when DISCRETIONARY_GROUP_IDENTIFIER_IS_INVALID => raise ERROR_WITH_IDENTIFICATION; when DISCRETIONARY_GROUP_IS_ALREADY_ENABLED => raise ERROR_WITH_USAGE; when DISCRETIONARY_GROUP_IS_IN_USE => raise ERROR_WITH_USAGE; when DISCRETIONARY_GROUP_IS_KNOWN => raise ERROR_WITH_USAGE; when DISCRETIONARY_GROUP_IS_NOT_ADOPTABLE => raise ERROR_WITH_USAGE; when DISCRETIONARY_GROUP_IS_NOT_A_SUBGROUP => raise ERROR_WITH_USAGE; when DISCRETIONARY_GROUP_IS_NOT_ENABLED => raise ERROR_WITH_USAGE; when DISCRETIONARY_GROUP_IS_PREDEFINED => raise ERROR_WITH_USAGE; when DISCRETIONARY_GROUP_IS_REQUIRED => raise ERROR_WITH_USAGE; when DISCRETIONARY_GROUP_IS_UNKNOWN => raise ERROR_WITH_IDENTIFICATION; when DISCRETIONARY_GROUP_WOULD_BE_IN_INVALID_GRAPH => raise ERROR_WITH_USAGE; when ENUMERATION_VALUE_TYPE_IS_TOO_SHORT => raise ERROR_WITH_PARAMETER; when EVALUATION_STATUS_IS_INCONSISTENT_WITH_EVALUATION_POINT => raise ERROR_WITH_STATE; when EXECUTION_CLASS_HAS_NO_USABLE_EXECUTION_SITES => raise ERROR_WITH_USAGE; when EXECUTION_SITE_IS_NOT_AVAILABLE => raise ERROR_WITH_STATE; when EXECUTION_SITE_IS_NOT_IN_EXECUTION_CLASS => raise ERROR_WITH_USAGE; when EXTERNAL_LINK_IS_BAD => raise ERROR_WITH_USAGE; when EXTERNAL_LINK_IS_NOT_DUPLICABLE => raise ERROR_WITH_USAGE; when FOREIGN_DEVICE_IS_UNKNOWN => raise ERROR_WITH_IDENTIFICATION; when FOREIGN_OBJECT_ACCESS_IS_DENIED => raise ERROR_WITH_STATE; when FOREIGN_SYSTEM_IDENTIFICATION_IS_INVALID => raise ERROR_WITH_IDENTIFICATION; when FOREIGN_SYSTEM_IS_INACCESSIBLE => raise ERROR_WITH_STATE; when FOREIGN_SYSTEM_IS_INVALID => raise ERROR_WITH_STATE; when FOREIGN_SYSTEM_IS_UNKNOWN => raise ERROR_WITH_IDENTIFICATION; when IMAGE_IS_ALREADY_ASSOCIATED => raise ERROR_WITH_USAGE; when INTEGRITY_CONFINEMENT_WOULD_BE_VIOLATED => raise ERROR_WITH_STATE; when INTEGRITY_LABEL_CRITERION_IS_NOT_SELECTED => raise ERROR_WITH_STATE; when INTEGRITY_WOULD_BE_VIOLATED => raise ERROR_WITH_STATE; when INTERPRETER_IS_NOT_AVAILABLE => raise ERROR_WITH_USAGE; when KEY_ATTRIBUTE_TYPE_UNAPPLY_IS_FORBIDDEN => raise ERROR_WITH_USAGE; when KEY_IS_BAD => raise ERROR_WITH_PARAMETER; when KEY_TYPES_ARE_MULTIPLE => raise ERROR_WITH_PARAMETER; when KEY_TYPE_IS_BAD => raise ERROR_WITH_PARAMETER; when KEY_UPDATE_IS_FORBIDDEN => raise ERROR_WITH_PARAMETER; when LABEL_IS_INVALID => raise ERROR_WITH_PARAMETER; when LABEL_IS_OUTSIDE_RANGE => raise ERROR_WITH_STATE; when LABEL_RANGE_IS_BAD => raise ERROR_WITH_PARAMETER; when LAN_ERROR_EXISTS => raise ERROR_WITH_NETWORK; when LIMIT_WOULD_BE_EXCEEDED => raise ERROR_WITH_USAGE; when LINK_ATTRIBUTE_TYPE_IS_INVALID => raise ERROR_WITH_USAGE; when LINK_DESTINATION_IS_NOT_VISIBLE => raise ERROR_WITH_USAGE; when LINK_DOES_NOT_EXIST => raise ERROR_WITH_IDENTIFICATION; when LINK_EXISTS => raise ERROR_WITH_USAGE; when LINK_NAME_OR_VALUE_LIMITS_ARE_EXCEEDED => raise ERROR_WITH_PARAMETER; when LINK_TYPE_IS_INVALID => raise ERROR_WITH_IDENTIFICATION; when LINK_TYPE_IS_NOT_APPLIED_TO_OBJECT_TYPE => raise ERROR_WITH_USAGE; when LINK_TYPE_IS_UNKNOWN => raise ERROR_WITH_IDENTIFICATION; when LINK_TYPE_PROPERTIES_ARE_INCONSISTENT => raise ERROR_WITH_PARAMETER; when LINK_TYPE_PROPERTIES_ARE_INCONSISTENT_WITH_KEY_TYPES => raise ERROR_WITH_PARAMETER; when LOCK_COULD_NOT_BE_ESTABLISHED => raise ERROR_WITH_USAGE; when LOCK_IS_NOT_EXPLICIT => raise ERROR_WITH_USAGE; when LOCK_MODE_IS_INVALID => raise ERROR_WITH_PARAMETER; when LOCK_MODE_IS_NOT_ALLOWED => raise ERROR_WITH_USAGE; when LOCK_MODE_IS_TOO_STRONG => raise ERROR_WITH_USAGE; when LOWER_BOUND_WOULD_BE_VIOLATED => raise ERROR_WITH_USAGE; when MANDATORY_CLASS_IS_ALREADY_DOMINATED => raise ERROR_WITH_USAGE; when MANDATORY_CLASS_IS_UNKNOWN => raise ERROR_WITH_IDENTIFICATION; when MANDATORY_CLASS_NAME_IS_IN_USE => raise ERROR_WITH_STATE; when MAXIMUM_USAGE_MODE_WOULD_BE_EXCEEDED => raise ERROR_WITH_PARAMETER; when MEMORY_ADDRESS_IS_OUT_SPACE => raise ERROR_WITH_PARAMETER; when MESSAGE_DOES_NOT_EXIT => raise ERROR_WITH_USAGE; when MESSAGE_IS_NOT_KNOWN => raise ERROR_WITH_USAGE; when MESSAGE_QUEUE_HAS_BEEN_DELETED => raise ERROR_WITH_USAGE; when MESSAGE_QUEUE_HAS_BEEN_WOKEN => raise ERROR_WITH_USAGE; when MESSAGE_QUEUE_HAS_NO_HANDLER => raise ERROR_WITH_USAGE; when MESSAGE_QUEUE_IS_BUSY => raise ERROR_WITH_STATE; when MESSAGE_QUEUE_IS_NOT_RESERVED => raise ERROR_WITH_USAGE; when MESSAGE_QUEUE_IS_RESERVED => raise ERROR_WITH_USAGE; when MESSAGE_QUEUE_IS_TOO_BIG => raise ERROR_WITH_STATE; when MESSAGE_TYPE_IS_NOT_IN_QUEUE => raise ERROR_WITH_STATE; when NON_BLOCKING_IO_IS_INVALID => raise ERROR_WITH_USAGE; when NOTIFIER_KEY_DOES_NOT_EXIST => raise ERROR_WITH_STATE; when NOTIFIER_KEY_EXISTS => raise ERROR_WITH_STATE; when OBJECT_ARCHIVING_IS_INVALID => raise ERROR_WITH_USAGE; when OBJECT_CRITERION_IS_NOT_SELECTED => raise ERROR_WITH_USAGE; when OBJECT_HAS_COPIES => raise ERROR_WITH_USAGE; when OBJECT_HAS_EXTERNAL_LINKS_PREVENTING_DELETION => raise ERROR_WITH_USAGE; when OBJECT_HAS_INTERNAL_LINKS_PREVENTING_DELETION => raise ERROR_WITH_USAGE; when OBJECT_HAS_LINKS_PREVENTING_DELETION => raise ERROR_WITH_USAGE; when OBJECT_HAS_NO_LOCK => raise ERROR_WITH_USAGE; when OBJECT_IS_ALREADY_IN_RESOURCE_GROUP => raise ERROR_WITH_USAGE; when OBJECT_IS_ALREADY_MASTER => raise ERROR_WITH_USAGE; when OBJECT_IS_ARCHIVED => raise ERROR_WITH_USAGE; when OBJECT_IS_DELETED => raise ERROR_WITH_USAGE; when OBJECT_IS_DESTINATION_OF_EXCLUSIVE_LINK => raise ERROR_WITH_USAGE; when OBJECT_IS_INACCESSIBLE => raise ERROR_WITH_USAGE; when OBJECT_IS_IN_USE => raise ERROR_WITH_USAGE; when OBJECT_IS_LOCKED => raise ERROR_WITH_USAGE; when OBJECT_IS_NOT_ARCHIVED => raise ERROR_WITH_USAGE; when OBJECT_IS_NOT_DISCRETIONARY_GROUP_SUBTYPE => raise ERROR_WITH_USAGE; when OBJECT_IS_NOT_IN_RESOURCE_GROUP => raise ERROR_WITH_USAGE; when OBJECT_IS_NOT_ON_ADMINISTRATION_VOLUME => raise ERROR_WITH_USAGE; when OBJECT_IS_NOT_ON_MASTER_ADMINISTRATION_VOLUME => raise ERROR_WITH_USAGE; when OBJECT_IS_NOT_REPLICABLE => raise ERROR_WITH_USAGE; when OBJECT_IS_NOT_REPLICATED_ON_VOLUME => raise ERROR_WITH_USAGE; when OBJECT_IS_NOT_STABLE => raise ERROR_WITH_USAGE; when OBJECT_IS_OF_WRONG_TYPE => raise ERROR_WITH_USAGE; when OBJECT_IS_STABLE => raise ERROR_WITH_USAGE; when OBJECT_OWNER_CONSTRAINT_WOULD_BE_VIOLATED => raise ERROR_WITH_STATE; when OBJECT_OWNER_IS_DENIED => raise ERROR_WITH_STATE; when OBJECT_REFERENCE_IS_INTERNAL => raise ERROR_WITH_USAGE; when OBJECT_RESOURCE_IS_IN_USE => raise ERROR_WITH_USAGE; when OBJECT_TYPES_MISMATCH => raise ERROR_WITH_PARAMETER; when OBJECT_TYPE_IS_ALREADY_IN_DESTINATION_SET => raise ERROR_WITH_USAGE; when OBJECT_TYPE_IS_INVALID => raise ERROR_WITH_PARAMETER; when OBJECT_TYPE_IS_NOT_IN_DESTINATION_SET => raise ERROR_WITH_USAGE; when OBJECT_TYPE_IS_UNKNOWN => raise ERROR_WITH_IDENTIFICATION; when OPENING_MODE_IS_INVALID => raise ERROR_WITH_PARAMETER; when OPERATION_HAS_TIME_OUT => raise ERROR_FROM_TIMEOUT; when OPERATION_IS_INTERRUPTED => raise ERROR_FROM_INTERRUPTED; when OPERATION_IS_NOT_ALLOWED_IN_TRANSACTION => raise ERROR_WITH_USAGE; when PARENT_BASIC_TYPES_ARE_MULTIPLE => raise ERROR_WITH_PARAMETER; when PATHNAME_DOES_NOT_DESIGNATE_AN_EXISTING_OBJECT => raise ERROR_WITH_IDENTIFICATION; when PATHNAME_SYNTAX_IS_WRONG => raise ERROR_WITH_IDENTIFICATION; when POSITIONING_IS_INVALID => raise ERROR_WITH_IDENTIFICATION; when POSITION_HANDLE_IS_INVALID => raise ERROR_WITH_IDENTIFICATION; when PREFERENCE_DOES_NOT_EXIST => raise ERROR_WITH_IDENTIFICATION; when PRIVILEGE_IS_NOT_GRANTED => raise ERROR_WITH_IDENTIFICATION; when PROCESS_HAS_NOT_GOT_REQUIRED_STATUS => raise ERROR_WITH_STATE; when PROCESS_HAS_NO_CHILD => raise ERROR_WITH_USAGE; when PROCESS_IS_IN_TRANSACTION => raise ERROR_WITH_USAGE; when PROCESS_IS_NOT_ANCESTOR => raise ERROR_WITH_USAGE; when PROCESS_IS_NOT_CHILD => raise ERROR_WITH_USAGE; when PROCESS_IS_NOT_THE_CALLER => raise ERROR_WITH_USAGE; when PROCESS_IS_THE_CALLER => raise ERROR_WITH_USAGE; when PROCESS_IS_UNKNOWN => raise ERROR_WITH_IDENTIFICATION; when PROFILING_IS_NOT_SWITCHED_ON => raise ERROR_WITH_STATE; when REFERENCED_OBJECT_IS_NOT_MUTABLE => raise ERROR_WITH_USAGE; when REFERENCED_OBJECT_IS_UNSET => raise ERROR_WITH_USAGE; when REFERENCE_NAME_IS_INVALID => raise ERROR_WITH_IDENTIFICATION; when RELATIONSHIP_TYPE_PROPERTIES_ARE_INCONSISTENT => raise ERROR_WITH_PARAMETER; when REPLICATED_COPY_UPDATE_IS_FORBIDDEN => raise ERROR_WITH_USAGE; when RESOURCE_GROUP_IS_KNOWN => raise ERROR_WITH_USAGE; when RESOURCE_GROUP_IS_UNKNOWN => raise ERROR_WITH_IDENTIFICATION; when RESOURCE_IS_IN_USE => raise ERROR_WITH_USAGE; when RESOURCE_IS_NOT_ACQUIRED => raise ERROR_WITH_USAGE; when REVERSE_KEY_DOES_NOT_EXIST => raise ERROR_WITH_USAGE; when REVERSE_KEY_IS_BAD => raise ERROR_WITH_USAGE; when REVERSE_LINK_EXISTS => raise ERROR_WITH_USAGE; when SDS_INITIALISE_CONDITION_IS_NOT_SATISFIED => raise ERROR_WITH_USAGE; when SDS_IS_IN_A_WORKING_SCHEMA => raise ERROR_WITH_USAGE; when SDS_IS_KNOWN => raise ERROR_WITH_USAGE; when SDS_IS_UNDER_MODIFICATION => raise ERROR_WITH_USAGE; when SDS_IS_UNKNOWN => raise ERROR_WITH_IDENTIFICATION; when SDS_NAME_IS_DUPLICATE => raise ERROR_WITH_USAGE; when SDS_NAME_IS_INVALID => raise ERROR_WITH_PARAMETER; when SDS_WOULD_APPEAR_TWICE_IN_WORKING_SCHEMA => raise ERROR_WITH_USAGE; when STATIC_CONTEXT_CONTENTS_CANNOT_BE_EXECUTED => raise ERROR_WITH_USAGE; when STATIC_CONTEXT_IS_ALREADY_MEMBER => raise ERROR_WITH_USAGE; when STATIC_CONTEXT_IS_BEING_WRITTEN => raise ERROR_WITH_STATE; when STATIC_CONTEXT_IS_IN_USE => raise ERROR_WITH_STATE; when STATIC_CONTEXT_IS_NOT_MEMBER => raise ERROR_WITH_USAGE; when STATIC_CONTEXT_REQUIRES_TOO_MUCH_MEMORY => raise ERROR_WITH_STATE; when STATUS_IS_BAD => raise ERROR_WITH_STATE; when TERMINATION_STATUS_VALUE_IS_RESERVED => raise ERROR_WITH_STATE; when TOTAL_SPACE_IS_LESS_THAN_QUEUE_SPACE => raise ERROR_WITH_STATE; when TRANSACTION_CANNOT_BE_COMMITTED => raise ERROR_WITH_USAGE; when TYPE_HAS_DEPENDENCIES => raise ERROR_WITH_USAGE; when TYPE_IDENTIFIER_IS_INVALID => raise ERROR_WITH_IDENTIFICATION; when TYPE_IDENTIFIER_USAGE_IS_INVALID => raise ERROR_WITH_USAGE; when TYPE_IS_ALREADY_APPLIED => raise ERROR_WITH_USAGE; when TYPE_IS_NOT_DESCENDANT => raise ERROR_WITH_USAGE; when TYPE_IS_NOT_EXPECTED => raise ERROR_WITH_USAGE; when TYPE_IS_UNKNOWN => raise ERROR_WITH_IDENTIFICATION; when TYPE_IS_UNKNOWN_IN_SDS => raise ERROR_WITH_IDENTIFICATION; when TYPE_IS_UNKNOWN_IN_WORKING_SCHEMA => raise ERROR_WITH_IDENTIFICATION; when TYPE_NAME_IN_SDS_IS_DUPLICATE => raise ERROR_WITH_USAGE; when TYPE_NAME_IS_INVALID => raise ERROR_WITH_PARAMETER; when TYPE_NAME_IS_UNKNOWN => raise ERROR_WITH_IDENTIFICATION; when UNLOCKING_IN_TRANSACTION_IS_FORBIDDEN => raise ERROR_WITH_USAGE; when UPPER_BOUND_WOULD_BE_VIOLATED => raise ERROR_WITH_USAGE; when USAGE_MODE_ON_ATTRIBUTE_TYPE_WOULD_BE_VIOLATED => raise ERROR_WITH_USAGE; when USAGE_MODE_ON_LINK_TYPE_WOULD_BE_VIOLATED => raise ERROR_WITH_USAGE; when USAGE_MODE_ON_OBJECT_TYPE_WOULD_BE_VIOLATED => raise ERROR_WITH_USAGE; when USER_CLEARANCE_IS_INCOMPATIBLE => raise ERROR_WITH_USAGE; when USER_CRITERION_IS_NOT_SELECTED => raise ERROR_WITH_USAGE; when USER_GROUP_HAS_NOT_GOT_ALL_USERS_AS_SUBGROUP => raise ERROR_WITH_USAGE; when USER_GROUP_IS_IN_USE => raise ERROR_WITH_USAGE; when USER_IS_ALREADY_CLEARED_TO_CLASS => raise ERROR_WITH_USAGE; when USER_IS_ALREADY_MEMBER => raise ERROR_WITH_USAGE; when USER_IS_NOT_CLEARED => raise ERROR_WITH_USAGE; when USER_IS_NOT_CLEARED_TO_CLASS => raise ERROR_WITH_USAGE; when USER_IS_NOT_MEMBER => raise ERROR_WITH_USAGE; when USER_IS_UNKNOWN => raise ERROR_WITH_IDENTIFICATION; when VALUE_TYPE_IS_INVALID => raise ERROR_WITH_PARAMETER; when VERSION_GRAPH_IS_INVALID => raise ERROR_WITH_USAGE; when VERSION_IS_REQUIRED => raise ERROR_WITH_USAGE; when VOLUME_EXISTS => raise ERROR_WITH_USAGE; when VOLUME_HAS_OTHER_LINKS => raise ERROR_WITH_USAGE; when VOLUME_HAS_OTHER_OBJECTS => raise ERROR_WITH_USAGE; when VOLUME_IDENTIFIER_IS_INVALID => raise ERROR_WITH_IDENTIFICATION; when VOLUME_IS_ADMINISTRATION_VOLUME => raise ERROR_WITH_USAGE; when VOLUME_IS_BUSY => raise ERROR_WITH_DEVICE; when VOLUME_IS_FULL => raise ERROR_WITH_DEVICE; when VOLUME_IS_INACCESSIBLE => raise ERROR_WITH_DEVICE; when VOLUME_IS_MASTER_ADMINISTRATION_VOLUME => raise ERROR_WITH_DEVICE; when VOLUME_IS_NOT_ADMINISTRATION_VOLUME => raise ERROR_WITH_DEVICE; when VOLUME_IS_NOT_UNMOUNTABLE => raise ERROR_WITH_DEVICE; when VOLUME_IS_READ_ONLY => raise ERROR_WITH_DEVICE; when VOLUME_IS_UNKNOWN => raise ERROR_WITH_IDENTIFICATION; when WORKSTATION_EXISTS => raise ERROR_WITH_USAGE; when WORKSTATION_IDENTIFIER_IS_INVALID => raise ERROR_WITH_IDENTIFICATION; when WORKSTATION_IS_BUSY => raise ERROR_WITH_USAGE; when WORKSTATION_IS_UNKNOWN => raise ERROR_WITH_IDENTIFICATION; when UNDEFINED_REFERENCE => raise ERROR_WITH_IDENTIFICATION; when UNDEFINED_MESSAGE_HANDLE => raise ERROR_WITH_IDENTIFICATION; when CONTENTS_HANDLE_IS_OPEN => raise ERROR_WITH_STATE; when INTERNAL_IMPLEMENTATION_ERROR => raise ERROR_WITH_USAGE; when UNIMPLEMENTED_FEATURE_ERROR => raise ERROR_WITH_USAGE; end case; end if; end process_status_info; end error;