-- Copyright Oracle Corporation 1990, 1995. All rights reserved. -- ++ -- -- FACILITY: -- -- MCS -- -- ABSTRACT: -- -- This module contains all the public definitions for the data -- structures, constant definitions and entry points for the MCS -- interface. -- -- AUTHORS: -- -- (Automatically generated from common source) -- -- MODIFICATION HISTORY: -- -- 17-SEP-1996 Original Input -- -- -- with MCS_Private; with MCS_Reusable_Types; with System; with Unchecked_Conversion; package MCS is -- Ada bindings to MCS callable interface -- ++ -- -- PACKAGE DESCRIPTION: -- -- Provides an Ada binding to the MCS callable interface. -- -- -- -- -- Re-exported declarations -- subtype Unsigned_Integer_32 is MCS_Reusable_Types.Unsigned_Integer_32; subtype Unsigned_Integer_16 is MCS_Reusable_Types.Unsigned_Integer_16; subtype Unsigned_Integer_8 is MCS_Reusable_Types.Unsigned_Integer_8; subtype Integer_32 is MCS_Reusable_Types.Integer_32; subtype Integer_16 is MCS_Reusable_Types.Integer_16; subtype Integer_32_Array is MCS_Reusable_Types.Integer_32_Array; subtype Unsigned_Integer_32_Array is MCS_Reusable_Types.Unsigned_Integer_32_Array; -- -- A UNIX-style 32-bit datetime value -- type Datetime_Type is new Unsigned_Integer_32; -- -- A VMS string descriptor -- subtype StringDSC_Type is MCS_Private.StringDSC_Type; -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- StringDSC -- vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv package StringDSC is type Class_Options_Type is (Fixed_Length, Dynamic ); for Class_Options_Type use (Fixed_Length => 1, Dynamic => 2 ); for Class_Options_Type'Size use 32; type Datatype_Options_Type is (Text ); for Datatype_Options_Type use (Text => 14 ); for Datatype_Options_Type'Size use 32; -- ++ -- -- Begin value-added declarations -- -- ++ -- FUNCTIONAL DESCRIPTION: -- -- Converts a StringDSC to an Ada string. -- -- EXCEPTIONS: -- -- Invalid_StringDSC -- -- RETURN VALUE: -- -- String -- -- -- function To_String (StringDSC : in StringDSC_Type ) return String; -- ++ -- FUNCTIONAL DESCRIPTION: -- -- Converts an Ada string to a StringDSC_Type -- -- RETURN VALUE: -- -- StringDSC -- -- -- function To_StringDSC (Str : in String; Class : in Class_Options_Type := Dynamic ) return StringDSC_Type; -- ++ -- FUNCTIONAL DESCRIPTION: -- -- Returns the length of (number of characters in) a StringDSC_Type. -- -- EXCEPTIONS: -- -- Invalid_StringDSC -- -- RETURN VALUE: -- -- Length of the string represented by a StringDSC_Type -- -- -- function Length (StringDSC : in StringDSC_Type ) return Natural; -- ++ -- FUNCTIONAL DESCRIPTION: -- -- Returns the class (fixed_length or dynamic) a StringDSC_Type. -- -- EXCEPTIONS: -- -- Invalid_StringDSC -- -- RETURN VALUE: -- -- Class of the string represented by a StringDSC_Type -- -- -- function Class (StringDSC : in StringDSC_Type ) return Class_Options_Type; -- ++ -- -- FUNCTIONAL DESCRIPTION: -- -- Releases memory associated with an object of type StringDSC_Type -- -- -- procedure Free (StringDSC : in out StringDSC_Type ) renames MCS_Private.Free; -- ++ -- -- FUNCTIONAL DESCRIPTION: -- -- Checks if two StringDSC objects are equivalent. This is a less -- stringent test than the default equality operator "=". The -- operator tests for exact equality of the descriptor structure as -- well as the strings being referenced. Is_Equivalent simply tests -- to see if the two descriptors reference strings that are equal. -- -- -- function Is_Equivalent (StringDSC1, StringDSC2 : in StringDSC_Type ) return Boolean renames MCS_Private.Is_Equivalent; -- ++ -- FUNCTIONAL DESCRIPTION: -- -- Initializes a StringDSC to the specified Class. Note: -- Initialization to (Class => Dynamic) is equivalent to assigning the -- the constant Null_StringDSC. -- -- The result of initialization is a StringDSC that has zero length -- and does not reference any string. This is a different (albeit -- subtle) effect than assigning a null string with To_StringDSC. -- Assigning a null string leaves the StringDSC with length zero, but -- referencing a zero-length string in memory. -- -- RETURN VALUE: -- -- StringDSC_Type -- -- -- function Initialize (Class : in Class_Options_Type := Dynamic ) return StringDSC_Type; -- -- End value-added declarations -- -- -- end StringDSC; -- -- A D floating value -- type Double_Type is new Standard.Long_Float; for Double_Type'Size use 64; -- -- A element id in the database -- type Element_ID_Type is limited private; -- -- An F floating value -- type Float_Type is new Standard.Float; for Float_Type'Size use 32; -- -- A standard 32-bit integral value -- subtype Long_Integer_Type is Integer_32; -- -- MEMBLOCKs are used to store data of arbitrary size. The contents are not -- interpreted. -- subtype Memory_Block_Type is System.Address; -- -- This is a 64-bit datetime stamp -- subtype VMStime_Type -- Oracle Extension is Unsigned_Integer_32_Array (1 .. 2); -- -- A standard 16-bit integral value -- subtype Small_Integer_Type is Integer_16; -- -- A status value returned by one of the MCS routines -- type Status_Type is new Unsigned_Integer_32; -- -- A standard C language NULL terminated string -- subtype C_String is System.Address; -- -- Notice Identifier -- type Notice_ID_Type is new Integer_32; -- -- A value struct is used to pass values around -- type Value_Type is limited private; Value_Size : constant := 16; -- -- MCS_SUCCESS status -- NOTE: THIS IS JUST TEMPORARY -- Success : constant := 1; -- -- Boolean values used by MCS routines -- function True return Boolean renames Standard.True; function False return Boolean renames Standard.False; -- -- Session handles are processed by the session and transaction routines -- type Session_ID_Type is limited private; -- -- Transaction handles are processed by the session and transaction routines -- type Transaction_ID_Type is limited private; -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- Transaction -- vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv package Transaction is -- -- read_only_flag for transaction_initiate and session_transaction_init -- function Read_Only return Boolean renames Standard.True; function Read_Write return Boolean renames Standard.False; -- -- abort_flag for MCS$transaction_terminate -- function Abort_Transaction return Boolean renames Standard.True; function Commit_Transaction return Boolean renames Standard.False; -- MCS$SESSION_TRANSACTION_INIT -- -- Start a session transaction -- procedure Initiate_Session_Txn (Status : out Status_Type; -- Status return code Existing_Transaction_Handle : in Transaction_ID_Type; New_Transaction_Handle : out Transaction_ID_Type; Session_Handle : in Session_ID_Type; Read_Only_Flag : in Boolean := Read_Write ); -- MCS$SESSION_TRANSACTION_TERM -- -- Commit or abort a session transaction -- procedure Terminate_Session_Txn (Status : out Status_Type; -- Status return code Transaction_Handle : in Transaction_ID_Type; Abort_Flag : in Boolean := Commit_Transaction ); -- ++ -- -- Begin value-added declarations -- -- ++ -- -- FUNCTIONAL DESCRIPTION: -- -- Initialize the transaction handle to 0. -- -- -- procedure Zero (Transaction_ID : in out Transaction_ID_Type ); -- -- End value-added declarations -- -- -- end Transaction; -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- Datatype -- vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv package Datatype is -- -- result for MCS$datatype_compare -- type Comparison_Result_Options_Type is (Less, Equal, Greater ); for Comparison_Result_Options_Type use (Less => -1, Equal => 0, Greater => 1 ); for Comparison_Result_Options_Type'Size use 32; function Not_Equal return Comparison_Result_Options_Type renames Less; -- -- copy for MCS$datatype_new -- function Is_Copy return Boolean renames Standard.True; function Not_Copy return Boolean renames Standard.False; -- -- Possible basetypes for a given datatype -- (values of "baseType" on DATA_TYPE) -- type Base_Type_Options_Type is (Boolean_BT, Smallint_BT, Longint_BT, Float_BT, StringDSC_BT, -- Oracle Extension Double_BT, VMStime_BT, -- Oracle Extension Datetime_BT, ElementID_BT, ArgSpec_BT, Scan_BT, Notice_BT, -- Oracle Extension MemBlock_BT, Unspecified_BT -- Oracle Extension ); for Base_Type_Options_Type use (Boolean_BT => 6, Smallint_BT => 7, Longint_BT => 8, Float_BT => 10, StringDSC_BT => 14, Double_BT => 27, VMStime_BT => 35, Datetime_BT => 2818147, ElementID_BT => 2818149, ArgSpec_BT => 2818150, Scan_BT => 2818152, Notice_BT => 2818155, MemBlock_BT => 2818156, Unspecified_BT => 2818157 ); for Base_Type_Options_Type'Size use 32; -- -- Datatype Names -- Argspec_DT : constant StringDSC_Type := MCS_Private.Initialize_datatype_argspec; Boolean_DT : constant StringDSC_Type := MCS_Private.Initialize_datatype_boolean; Datetime_DT : constant StringDSC_Type := MCS_Private.Initialize_datatype_datetime; ElementID_DT : constant StringDSC_Type := MCS_Private.Initialize_datatype_elementid; Float_DT : constant StringDSC_Type := MCS_Private.Initialize_datatype_float; List_DT : constant StringDSC_Type := MCS_Private.Initialize_datatype_list; Longint_DT : constant StringDSC_Type := MCS_Private.Initialize_datatype_longint; Memblock_DT : constant StringDSC_Type := MCS_Private.Initialize_datatype_memblock; Scan_DT : constant StringDSC_Type := MCS_Private.Initialize_datatype_scan; Smallint_DT : constant StringDSC_Type := MCS_Private.Initialize_datatype_smallint; String_DT : constant StringDSC_Type := MCS_Private.Initialize_datatype_string; StringDSC_DT : constant StringDSC_Type := MCS_Private.Initialize_datatype_stringdsc; Double_DT : constant StringDSC_Type := MCS_Private.Initialize_datatype_double; VMStime_DT -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_datatype_vmstime; Notice_DT -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_datatype_notice; Unspecified_DT -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_datatype_unspecified; -- MCS$DATATYPE_COMPARE -- -- Compare two values of a given datatype -- procedure Compare (Status : out Status_Type; -- Status return code Datatype_Value_1 : in Value_Type; Datatype_Value_2 : in Value_Type; Compare_Flag : out Comparison_Result_Options_Type ); -- MCS$DATATYPE_COPY -- -- Make a copy of a value struct -- procedure Copy (Status : out Status_Type; -- Status return code Datatype_Value_In : in Value_Type; Datatype_Value_Out : out Value_Type ); -- MCS$DATATYPE_DATATYPE -- -- Get the element id for the type of data stored in a value struct -- procedure Datatype (Status : out Status_Type; -- Status return code Datatype_Value : in Value_Type; Datatype_Name : in out StringDSC_Type ); -- MCS$DATATYPE_FREE -- -- Free any memory associated with the value. -- procedure Free (Status : out Status_Type; -- Status return code Datatype_Value : in out Value_Type ); -- MCS$DATATYPE_LENGTH -- -- Get the length of the data in the value struct -- procedure Length (Status : out Status_Type; -- Status return code Datatype_Value : in Value_Type; Datatype_Length : out Long_Integer_Type ); procedure Length (Status : out Status_Type; -- Status return code Datatype_Value : in Value_Type; Datatype_Length : out Long_Integer_Type; Datatype_Name : in StringDSC_Type ); procedure Length (Status : out Status_Type; -- Status return code Datatype_Value : in Value_Type; Datatype_Length : out Long_Integer_Type; Datatype_Name : in String ); -- MCS$DATATYPE_NEW -- -- Initialize fields of value struct -- procedure Create (Status : out Status_Type; -- Status return code Datatype_Value : out Value_Type; Datatype_Name : in StringDSC_Type; Datatype_Data : in System.Address; Copy_Flag : in Boolean ); procedure Create (Status : out Status_Type; -- Status return code Datatype_Value : out Value_Type; Datatype_Name : in String; Datatype_Data : in System.Address; Copy_Flag : in Boolean ); -- MCS$DATATYPE_READ -- -- Get value into format useful to client -- procedure Read (Status : out Status_Type; -- Status return code Datatype_Value : in Value_Type; Datatype_Name : in StringDSC_Type; Datatype_Data : in System.Address ); procedure Read (Status : out Status_Type; -- Status return code Datatype_Value : in Value_Type; Datatype_Name : in String; Datatype_Data : in System.Address ); -- ++ -- -- Begin value-added declarations -- -- Note: These routines ALWAYS force a copy of the data to be made by default. -- This is done to ensure that compilers (such as VAX Ada) that pass -- arguments by value or in registers do not generate corrupted value -- structs. -- procedure Create (Status : out Status_Type; Datatype_Value : out Value_Type; Datatype_Data : in Boolean ); procedure Create (Status : out Status_Type; Datatype_Value : out Value_Type; Datatype_Data : in Datetime_Type ); procedure Create (Status : out Status_Type; Datatype_Value : out Value_Type; Datatype_Data : in Double_Type ); procedure Create (Status : out Status_Type; Datatype_Value : out Value_Type; Datatype_Data : in Element_ID_Type ); procedure Create (Status : out Status_Type; Datatype_Value : out Value_Type; Datatype_Data : in Float_Type ); procedure Create (Status : out Status_Type; Datatype_Value : out Value_Type; Datatype_Data : in Long_Integer_Type ); procedure Create (Status : out Status_Type; Datatype_Value : out Value_Type; Datatype_Data : in VMStime_Type ); procedure Create (Status : out Status_Type; Datatype_Value : out Value_Type; Datatype_Data : in Small_Integer_Type ); procedure Create (Status : out Status_Type; Datatype_Value : out Value_Type; Datatype_Data : in String ); procedure Create (Status : out Status_Type; Datatype_Value : out Value_Type; Datatype_Data : in StringDSC_Type ); -- -- Use this interface to create arbitrary (Memblock) data. -- generic type User_Datatype is private; package Create_Generic is type MemBlock_Type is record Length : MCS_Reusable_Types.Unsigned_Integer_32; Data : User_Datatype; end record; procedure Create (Status : out Status_Type; Datatype_Value : out Value_Type; Datatype_Data : in MemBlock_Type ); end Create_Generic; generic type User_Datatype is limited private; package Create_Generic_Limited is type MemBlock_Type is record Length : MCS_Reusable_Types.Unsigned_Integer_32; Data : User_Datatype; end record; procedure Create (Status : out Status_Type; Datatype_Value : out Value_Type; Datatype_Data : in MemBlock_Type ); end Create_Generic_Limited; -- -- Use these routines to read specific supported datatypes -- procedure Read (Status : out Status_Type; Datatype_Value : in Value_Type; Datatype_Data : out Boolean ); procedure Read (Status : out Status_Type; Datatype_Value : in Value_Type; Datatype_Data : out Datetime_Type ); procedure Read (Status : out Status_Type; Datatype_Value : in Value_Type; Datatype_Data : out Double_Type ); procedure Read (Status : out Status_Type; Datatype_Value : in Value_Type; Datatype_Data : out Element_ID_Type ); procedure Read (Status : out Status_Type; Datatype_Value : in Value_Type; Datatype_Data : out Float_Type ); procedure Read (Status : out Status_Type; Datatype_Value : in Value_Type; Datatype_Data : out Long_Integer_Type ); procedure Read (Status : out Status_Type; Datatype_Value : in Value_Type; Datatype_Data : out Small_Integer_Type ); procedure Read (Status : out Status_Type; Datatype_Value : in Value_Type; Datatype_Data : out String ); procedure Read (Status : out Status_Type; Datatype_Value : in Value_Type; Datatype_Data : in out StringDSC_Type ); procedure Read (Status : out Status_Type; Datatype_Value : in Value_Type; Datatype_Data : out VMSTime_Type ); -- -- Use this interface to read arbitrary (Memblock) data. -- generic type User_Datatype is private; package Read_Generic is type MemBlock_Type is record Length : MCS_Reusable_Types.Unsigned_Integer_32; Data : User_Datatype; end record; procedure Read (Status : out Status_Type; Datatype_Value : in Value_Type; Datatype_Data : out MemBlock_Type ); end Read_Generic; generic type User_Datatype is limited private; package Read_Limited_Generic is type MemBlock_Type is record Length : MCS_Reusable_Types.Unsigned_Integer_32; Data : User_Datatype; end record; procedure Read (Status : out Status_Type; Datatype_Value : in Value_Type; Datatype_Data : in out MemBlock_Type ); end Read_Limited_Generic; -- -- End value-added declarations -- -- -- end Datatype; -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- ElmID -- vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv package ElmID is -- -- isNull for MCS$elmId_isNull -- function Null_ElmID return Boolean renames Standard.True; function Not_Null return Boolean renames Standard.False; -- -- equal for MCS$elmId_equal -- function Equal return Boolean renames Standard.True; function Not_Equal return Boolean renames Standard.False; -- MCS$ELMID_COPY -- -- Copy one elmID to another -- procedure Copy (Status : out Status_Type; -- Status return code Source_ElementID : in Element_ID_Type; Destination_ElementID : out Element_ID_Type ); -- MCS$ELMID_GETCONTEXT -- -- Given an elmID, return the current context -- procedure Get_Context (Status : out Status_Type; -- Status return code Element_ElementID : in Element_ID_Type; Context_ElementID : out Element_ID_Type ); -- MCS$ELMID_GETPERSISTENTPROCESS -- -- Given an elmID, return the current persistent process -- procedure Get_Persistent_Process (Status : out Status_Type; -- Status return code Element_ElementID : in Element_ID_Type; Persistent_Process_ElementID : out Element_ID_Type ); -- MCS$ELMID_GETSESSION -- -- Given an elmID, return the current session -- procedure Get_Session (Status : out Status_Type; -- Status return code Element_ElementID : in Element_ID_Type; Session_Handle : out Session_ID_Type ); -- MCS$ELMID_EQUAL -- -- Return true if two element ids are equal -- procedure Equal (Status : out Status_Type; -- Status return code ElementID_1 : in Element_ID_Type; ElementID_2 : in Element_ID_Type; Isequal_Flag : out Boolean ); -- MCS$ELMID_ISNULL -- -- Is element identity null -- procedure Is_Null (Status : out Status_Type; -- Status return code Element_ElementID : in Element_ID_Type; Is_Null_Flag : out Boolean ); -- MCS$ELMID_ISSUBTYPE -- -- Is one element a subtype of the other -- procedure Is_Subtype (Status : out Status_Type; -- Status return code Subtype_ElementID : in Element_ID_Type; Supertype_ElementID : in Element_ID_Type; Is_Subtype_Flag : out Boolean ); -- MCS$ELMID_EXPORT_PERSISTENT -- -- Given an elmID, return the persistent elmID -- procedure Export_Persistent (Status : out Status_Type; -- Status return code Element_ElementID : in Element_ID_Type; Persistent_Element_ElementID : out Value_Type ); -- MCS$ELMID_IMPORT_PERSISTENT -- -- Adds a persistent elmID to the specified session or the current session -- procedure Import_Persistent (Status : out Status_Type; -- Status return code Persistent_Element_ElementID : in Value_Type; Session_Handle : in Session_ID_Type; Element_ElementID : out Element_ID_Type ); -- ++ -- -- Begin value-added declarations -- -- ++ -- FUNCTIONAL DESCRIPTION: -- -- Checks if the elmID is null; -- -- RETURN VALUE: -- -- Boolean -- -- -- function Is_Null (elmID : in Element_ID_Type ) return Boolean; -- ++ -- FUNCTIONAL DESCRIPTION: -- -- Check if one element is a subtype of the other. -- -- EXCEPTIONS: -- -- Invalid_elmID At least one elmID was invalid -- -- RETURN VALUE: -- -- Boolean -- -- -- function Is_Subtype (Subtype_ElementID : in Element_ID_Type; Supertype_ElementID : in Element_ID_Type ) return Boolean; -- -- End value-added declarations -- -- -- end ElmID; -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- Notice -- vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv package Notice is -- -- action for MCS$check_notices and MCS$force_notices -- type Clear_Flags_Type is record Local : Boolean; Up : Boolean; Down : Boolean; end record; for Clear_Flags_Type use record at mod 4; Local at 0 range 0 .. 0; Up at 0 range 1 .. 1; Down at 0 range 2 .. 2; end record; for Clear_Flags_Type'Size use 8; type Force_Options_Type is (Erase, Modify ); for Force_Options_Type use (Erase => 1, Modify => 2 ); for Force_Options_Type'Size use 32; -- -- Possible types of notice -- type Kinds_of_Notices_Type is (Possibly_Invalid, -- Oracle Extension Child_Usage, -- Oracle Extension Related_Invalid, -- Oracle Extension New_Version, -- Oracle Extension Invalid -- Oracle Extension ); for Kinds_of_Notices_Type use (Possibly_Invalid => 1, Child_Usage => 2, Related_Invalid => 3, New_Version => 4, Invalid => 26 ); for Kinds_of_Notices_Type'Size use 32; -- MCS$CHECK_NOTICES -- -- Get notices sent to specified element -- procedure Check (Status : out Status_Type; -- Status return code Element_ElementID : in Element_ID_Type; Notice_List_Value : out Value_Type ); -- MCS$CLEAR_NOTICES -- -- Clear notices from a set of elements -- procedure Clear (Status : out Status_Type; -- Status return code Element_ElementID : in Element_ID_Type; Scope_Mask : in Clear_Flags_Type ); procedure Clear (Status : out Status_Type; -- Status return code Element_ElementID : in Element_ID_Type; Scope_Mask : in Clear_Flags_Type; Notice_List_Value : in Value_Type ); -- MCS$FORCE_NOTICES -- -- Send notice to specified element -- procedure Force (Status : out Status_Type; -- Status return code Element_ElementID : in Element_ID_Type; Cause_Flag : in Force_Options_Type ); -- MCS$READ_NOTICE -- -- Reads a notice datatype -- procedure Read (Status : out Status_Type; -- Status return code Notice_Value : in Value_Type; Sender_ElementID : out Element_ID_Type; Cause_Flag : out Long_Integer_Type ); end Notice; -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- List -- vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv package List is -- -- index_number for MCS$list_insert -- End_of_List : constant := -1; -- MCS$LIST_FREE -- -- Free non-shared dynamically allocated items on list. -- procedure Free (Status : out Status_Type; -- Status return code List_Value : in out Value_Type ); -- MCS$LIST_GET -- -- Get a member of a list, given an index -- procedure Get (Status : out Status_Type; -- Status return code List_Value : in Value_Type; Index_Number : in Long_Integer_Type; Data_Value : in out Value_Type ); -- MCS$LIST_GETSIZE -- -- Get the number of members of a list -- procedure Get_Size (Status : out Status_Type; -- Status return code List_Value : in Value_Type; Current_Size : out Long_Integer_Type ); -- MCS$LIST_INSERT -- -- Add a new member to a list -- procedure Insert (Status : out Status_Type; -- Status return code List_Value : in out Value_Type; Index_Number : in Long_Integer_Type; Data_Value : in Value_Type ); -- MCS$LIST_NEW -- -- Create a list -- procedure Create (Status : out Status_Type; -- Status return code List_Value : in out Value_Type; Initial_Size : in Long_Integer_Type; Size_Increment : in Long_Integer_Type ); -- MCS$LIST_REMOVE -- -- Remove a new member from a list -- procedure Remove (Status : out Status_Type; -- Status return code List_Value : in out Value_Type; Index_Number : in Long_Integer_Type ); -- MCS$LIST_SET -- -- Set the value of an indexed member on a list -- procedure Set (Status : out Status_Type; -- Status return code List_Value : in out Value_Type; Index_Number : in Long_Integer_Type; Data_Value : in Value_Type ); end List; -- -- crash level value for Verfiy method -- type Verify_Flags_Type is record Internal_Structure : Boolean; External_Structure : Boolean; Semantics : Boolean; Repair : Boolean; end record; for Verify_Flags_Type use record at mod 4; Internal_Structure at 0 range 1 .. 1; External_Structure at 0 range 2 .. 2; Semantics at 0 range 3 .. 3; Repair at 0 range 4 .. 4; end record; for Verify_Flags_Type'Size use 8; Dump : constant Verify_Flags_Type := (others => False); -- -- Merge reasons (why a particular result was chosen) -- type Merge_Options_Type is (Unchanged, Source_Change, Merge_Change, Conflict ); for Merge_Options_Type use (Unchanged => 0, Source_Change => 1, Merge_Change => 2, Conflict => 3 ); for Merge_Options_Type'Size use 32; -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- File -- vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv package File is -- -- Possible ways to store a file -- (values of "storeType" on BINARY) -- type Store_Type_Options_Type is (Internal, External ); for Store_Type_Options_Type use (Internal => 0, External => 1 ); for Store_Type_Options_Type'Size use 32; -- MCS$FILEOP_COPY -- -- Perform journalled file copy -- procedure Copy (Status : out Status_Type; -- Status return code Valid_ElementID : in Element_ID_Type; Input_Name : in StringDSC_Type; Output_Name : in StringDSC_Type ); procedure Copy (Status : out Status_Type; -- Status return code Valid_ElementID : in Element_ID_Type; Input_Name : in String; Output_Name : in StringDSC_Type ); procedure Copy (Status : out Status_Type; -- Status return code Valid_ElementID : in Element_ID_Type; Input_Name : in StringDSC_Type; Output_Name : in String ); procedure Copy (Status : out Status_Type; -- Status return code Valid_ElementID : in Element_ID_Type; Input_Name : in String; Output_Name : in String ); -- MCS$FILEOP_DELETE -- -- Perform journalled file deletion -- procedure Delete (Status : out Status_Type; -- Status return code Valid_ElementID : in Element_ID_Type; Name : in StringDSC_Type ); procedure Delete (Status : out Status_Type; -- Status return code Valid_ElementID : in Element_ID_Type; Name : in String ); -- MCS$FILEOP_JOURNAL_CREATE -- -- Write file creation journal record -- procedure Journal_Create (Status : out Status_Type; -- Status return code Valid_ElementID : in Element_ID_Type; Name : in StringDSC_Type ); procedure Journal_Create (Status : out Status_Type; -- Status return code Valid_ElementID : in Element_ID_Type; Name : in String ); -- MCS$FILEOP_JOURNAL_MODIFY -- -- Write file modification journal record -- procedure Journal_Modify (Status : out Status_Type; -- Status return code Valid_ElementID : in Element_ID_Type; Name : in StringDSC_Type ); procedure Journal_Modify (Status : out Status_Type; -- Status return code Valid_ElementID : in Element_ID_Type; Name : in String ); -- MCS$FILEOP_MKDIR -- -- Perform a journalled directory creation -- procedure Create_Directory (Status : out Status_Type; -- Status return code Valid_ElementID : in Element_ID_Type; Name : in StringDSC_Type ); procedure Create_Directory (Status : out Status_Type; -- Status return code Valid_ElementID : in Element_ID_Type; Name : in String ); -- MCS$FILEOP_RENAME -- -- Perform a journalled file rename -- procedure Rename (Status : out Status_Type; -- Status return code Valid_ElementID : in Element_ID_Type; Original : in StringDSC_Type; Create : in StringDSC_Type ); procedure Rename (Status : out Status_Type; -- Status return code Valid_ElementID : in Element_ID_Type; Original : in String; Create : in StringDSC_Type ); procedure Rename (Status : out Status_Type; -- Status return code Valid_ElementID : in Element_ID_Type; Original : in StringDSC_Type; Create : in String ); procedure Rename (Status : out Status_Type; -- Status return code Valid_ElementID : in Element_ID_Type; Original : in String; Create : in String ); -- MCS$FILEOP_RMDIR -- -- Perform a journalled directory deletion -- procedure Delete_Directory (Status : out Status_Type; -- Status return code Valid_ElementID : in Element_ID_Type; Name : in StringDSC_Type ); procedure Delete_Directory (Status : out Status_Type; -- Status return code Valid_ElementID : in Element_ID_Type; Name : in String ); -- MCS$FILEOP_RMLINK -- -- Perform a journalled file system link removal -- procedure Delete_Link (Status : out Status_Type; -- Status return code Valid_ElementID : in Element_ID_Type; Name : in StringDSC_Type ); procedure Delete_Link (Status : out Status_Type; -- Status return code Valid_ElementID : in Element_ID_Type; Name : in String ); -- MCS$FILEOP_SYMLINK -- -- Perform a journalled file system link creation -- procedure Create_Link (Status : out Status_Type; -- Status return code Valid_ElementID : in Element_ID_Type; File_Name : in StringDSC_Type; Link : in StringDSC_Type ); procedure Create_Link (Status : out Status_Type; -- Status return code Valid_ElementID : in Element_ID_Type; File_Name : in String; Link : in StringDSC_Type ); procedure Create_Link (Status : out Status_Type; -- Status return code Valid_ElementID : in Element_ID_Type; File_Name : in StringDSC_Type; Link : in String ); procedure Create_Link (Status : out Status_Type; -- Status return code Valid_ElementID : in Element_ID_Type; File_Name : in String; Link : in String ); -- MCS$FILEOP_UNJOURNAL_CREATE -- -- Remove journal entry for file creation. -- Deletes the journal record for the most recent journalled file operation. -- procedure Unjournal_Create (Status : out Status_Type; -- Status return code Valid_ElementID : in Element_ID_Type ); end File; -- -- Possible ways to attach a version to a collection -- (values of "defaultAttachment" on COLLECTION_PART, CONTEXT and VERSION) -- type Attach_Options_Type is (Specific_Version, Latest_Checkin, Latest ); for Attach_Options_Type use (Specific_Version => 0, Latest_Checkin => 1, Latest => 2 ); for Attach_Options_Type'Size use 32; -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- Property -- vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv package Property is -- -- Possible direction in which relations can be traversed -- (values of "direction" on HAS_RELATION_PROPERTY) -- type Direction_Options_Type is (None, -- Oracle Extension (Portable) To_Member, -- Oracle Extension To_Owner, -- Oracle Extension To_All_Members, -- Oracle Extension To_All_Owners -- Oracle Extension ); for Direction_Options_Type use (None => 53, To_Member => 54, To_Owner => 55, To_All_Members => 127, To_All_Owners => 128 ); for Direction_Options_Type'Size use 32; -- -- Possible ways to set the value of a property -- (values of "accessType" on PROPERTY_TYPE) -- type Access_Options_Type is (Read_Only, -- Oracle Extension Read_Write, -- Oracle Extension Write_Once, -- Oracle Extension Write_Once_At_Creation_Time -- Oracle Extension ); for Access_Options_Type use (Read_Only => 1, Read_Write => 2, Write_Once => 3, Write_Once_At_Creation_Time => 4 ); for Access_Options_Type'Size use 32; -- -- Property Names -- Prop_Access : constant StringDSC_Type := MCS_Private.Initialize_prop_access; Access_Type -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_accessType; Aliases -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_aliases; All_Checkouts : constant StringDSC_Type := MCS_Private.Initialize_prop_allCheckouts; All_Child_Partitions -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_allChildPartitions; All_Children -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_allChildren; All_Dependencies -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_allDependencies; All_Dependents -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_allDependents; All_Derived_From -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_allDerivedFrom; All_Derives -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_allDerives; All_Element_Types -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_allElementTypes; All_History -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_allHistory; All_Instances -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_allInstances; Allow_Concurrent -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_allowConcurrent; All_Parent_Partitions -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_allParentPartitions; All_Sub_Types -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_allSubTypes; All_Super_Types -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_allSuperTypes; All_Types -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_allTypes; Alternate_Names -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_alternateNames; Application : constant StringDSC_Type := MCS_Private.Initialize_prop_application; Arg_Spec : constant StringDSC_Type := MCS_Private.Initialize_prop_argSpec; Args_Sent -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_argsSent; Assoc_Validations -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_assocValidations; Attachment -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_attachment; Attachment_In_Context -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_attachmentInContext; Autopurge -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_autopurge; Avail_Version : constant StringDSC_Type := MCS_Private.Initialize_prop_availVersion; Base_Partition -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_basePartition; Base_Type : constant StringDSC_Type := MCS_Private.Initialize_prop_baseType; Base_Type_Size : constant StringDSC_Type := MCS_Private.Initialize_prop_baseTypeSize; Branches_From : constant StringDSC_Type := MCS_Private.Initialize_prop_branchesFrom; Branches_To : constant StringDSC_Type := MCS_Private.Initialize_prop_branchesTo; Branch_Name -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_branchName; Checkout : constant StringDSC_Type := MCS_Private.Initialize_prop_checkout; Child_Partitions -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_childPartitions; Comp_Prop_Def -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_compPropDef; Cont_All_Version : constant StringDSC_Type := MCS_Private.Initialize_prop_contAllVersion; Cont_By_Root_Branch : constant StringDSC_Type := MCS_Private.Initialize_prop_contByRootBranch; Controlled -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_controlled; Context_Dir -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_contextDir; Context_Having_As_Top -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_contextHavingAsTop; Context_Name -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_contextName; CPU_Time -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_CPUTime; Created_Date -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_createdDate; Curr_Collection -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_currCollection; Curr_Context -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_currContext; Database_Element : constant StringDSC_Type := MCS_Private.Initialize_prop_databaseElement; Data_Type : constant StringDSC_Type := MCS_Private.Initialize_prop_dataType; Data_Type_Users -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_dataTypeUsers; Datetime -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_datetime; Default_Access : constant StringDSC_Type := MCS_Private.Initialize_prop_defaultAccess; Default_Attachment : constant StringDSC_Type := MCS_Private.Initialize_prop_defaultAttachment; Defined_Legal_Members -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_definedLegalMembers; Defined_Legal_Owners -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_definedLegalOwners; Defined_Methods -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_definedMethods; Defined_Prop_Def -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_definedPropDef; Delta_File -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_deltaFile; Dependencies -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_dependencies; Dependents -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_dependents; Derived_From -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_derivedFrom; Derives -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_derives; Descending -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_descending; Description -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_description; Direction -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_direction; Elapsed_Time -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_elapsedTime; Element_Name : constant StringDSC_Type := MCS_Private.Initialize_prop_elementName; Element_Type : constant StringDSC_Type := MCS_Private.Initialize_prop_elementType; File_Path : constant StringDSC_Type := MCS_Private.Initialize_prop_filePath; First_Version : constant StringDSC_Type := MCS_Private.Initialize_prop_firstVersion; Freeze_Time : constant StringDSC_Type := MCS_Private.Initialize_prop_freezeTime; Func_Type : constant StringDSC_Type := MCS_Private.Initialize_prop_funcType; Grouping_Relation -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_groupingRelation; Has_Children : constant StringDSC_Type := MCS_Private.Initialize_prop_hasChildren; Has_Parents : constant StringDSC_Type := MCS_Private.Initialize_prop_hasParents; History : constant StringDSC_Type := MCS_Private.Initialize_prop_history; History_Code -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_historyCode; History_Comment -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_historyComment; History_Ref -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_historyRef; Implemented_By : constant StringDSC_Type := MCS_Private.Initialize_prop_implementedBy; Implemented_By_In_Con : constant StringDSC_Type := MCS_Private.Initialize_prop_implementedByInCon; Implements : constant StringDSC_Type := MCS_Private.Initialize_prop_implements; Implementing_Methods -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_implementingMethods; Implements_Message : constant StringDSC_Type := MCS_Private.Initialize_prop_implementsMessage; Implements_Method -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_implementsMethod; Implements_Relation -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_implementsRelation; Imported_From : constant StringDSC_Type := MCS_Private.Initialize_prop_importedFrom; Inherited -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_inherited; In_Partition -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_inPartition; Instances : constant StringDSC_Type := MCS_Private.Initialize_prop_instances; Instantiable : constant StringDSC_Type := MCS_Private.Initialize_prop_instantiable; Invocation_Status -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_invocationStatus; Invocation_String : constant StringDSC_Type := MCS_Private.Initialize_prop_invocationString; Invoked_By -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_invokedBy; Invokes : constant StringDSC_Type := MCS_Private.Initialize_prop_invokes; Keep_Hist : constant StringDSC_Type := MCS_Private.Initialize_prop_keepHist; Last_Version : constant StringDSC_Type := MCS_Private.Initialize_prop_lastVersion; Legal_Members -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_legalMembers; Legal_Owners -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_legalOwners; Log_File -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_logFile; Message_ID -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_messageId; Message_Name -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_messageName; Methods : constant StringDSC_Type := MCS_Private.Initialize_prop_methods; Messages_Having_Msgarg -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_messagesHavingMsgarg; Method_Type : constant StringDSC_Type := MCS_Private.Initialize_prop_methodType; Method_Using_Postamble -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_methodUsingPostamble; Method_Using_Preamble -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_methodUsingPreamble; Method_Used -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_methodUsed; Msg_Sent -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_msgSent; Msg_Target -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_msgTarget; Mi_For_Message -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_miForMessage; Mi_For_Target -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_miForTarget; Mi_Using_Method -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_miUsingMethod; Mutable -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_mutable; Name : constant StringDSC_Type := MCS_Private.Initialize_prop_name; Name_In_Dir -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_nameInDir; Next_Versions : constant StringDSC_Type := MCS_Private.Initialize_prop_nextVersions; Node -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_node; Notification -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_notification; Notice_Action -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_noticeAction; Num_Children : constant StringDSC_Type := MCS_Private.Initialize_prop_numChildren; Opened_By -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_openedBy; Opened_Files -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_openedFiles; Options_String -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_optionsString; Ordering -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_ordering; OS_Version -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_OSVersion; Owner : constant StringDSC_Type := MCS_Private.Initialize_prop_owner; Owns_Relation -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_ownsRelation; Parent_In_Context : constant StringDSC_Type := MCS_Private.Initialize_prop_parentInContext; Parent_Partition -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_parentPartition; Participant_Flags -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_participantFlags; Partition_Dir -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_partitionDir; Passing_Mechanism -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_passingMechanism; Path -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_path; Pattern : constant StringDSC_Type := MCS_Private.Initialize_prop_pattern; Postamble : constant StringDSC_Type := MCS_Private.Initialize_prop_postamble; Pp_For_Collection -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_ppForCollection; Pp_For_Context -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_ppForContext; Preamble : constant StringDSC_Type := MCS_Private.Initialize_prop_preamble; Prev_Versions : constant StringDSC_Type := MCS_Private.Initialize_prop_prevVersions; Processing_Name -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_processingName; Prop_Def : constant StringDSC_Type := MCS_Private.Initialize_prop_propDef; Protocol_Major -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_protocolMajor; Protocol_Minor -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_protocolMinor; Reference_Count -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_referenceCount; Related -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_related; Relation_Member -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_relationMember; Rel_Member -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_relMember; Rel_Owner -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_relOwner; Rel_Prop_Def -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_relPropDef; Required -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_required; Rdb_Relation -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_rdbRelation; Reserved_By -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_reservedBy; Root_Branch : constant StringDSC_Type := MCS_Private.Initialize_prop_rootBranch; Root_Branch_Name : constant StringDSC_Type := MCS_Private.Initialize_prop_rootBranchName; Root_Branch_Instances : constant StringDSC_Type := MCS_Private.Initialize_prop_rootBranchInstances; Root_Version -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_rootVersion; Rootpath -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_rootpath; Scale -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_scale; Scaling_Factor -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_scalingFactor; Simple_Name -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_simpleName; Status : constant StringDSC_Type := MCS_Private.Initialize_prop_status; Stored -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_stored; Store_Type : constant StringDSC_Type := MCS_Private.Initialize_prop_storeType; Stored_In : constant StringDSC_Type := MCS_Private.Initialize_prop_storedIn; Subtypes : constant StringDSC_Type := MCS_Private.Initialize_prop_subTypes; Supertypes : constant StringDSC_Type := MCS_Private.Initialize_prop_superTypes; Symbols -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_symbols; System -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_system; Tag -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_tag; Target_Platform -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_targetPlatform; Text_Format -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_textFormat; Tool_Name -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_toolName; Tool_Version -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_toolVersion; Top : constant StringDSC_Type := MCS_Private.Initialize_prop_top; Types_Having_Prop -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_typesHavingProp; Types_Using_Method -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_typesUsingMethod; User_Name : constant StringDSC_Type := MCS_Private.Initialize_prop_userName; Users : constant StringDSC_Type := MCS_Private.Initialize_prop_users; Validation_Action -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_validationAction; Validation_Apply -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_validationApply; Validation_Query -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_validationQuery; Validation_When -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_validationWhen; Validations_Enforced -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_prop_validationsEnforced; Versionable : constant StringDSC_Type := MCS_Private.Initialize_prop_versionable; Version_Num : constant StringDSC_Type := MCS_Private.Initialize_prop_versionNum; -- MCS$PDEF_ADD -- -- Add new property definition to element type -- procedure Add (Status : out Status_Type; -- Status return code Elementtype_ElementID : in Element_ID_Type; Newprop_ElementID : in Element_ID_Type ); procedure Add (Status : out Status_Type; -- Status return code Elementtype_ElementID : in Element_ID_Type; Newprop_ElementID : in Element_ID_Type; Arglist_Value : in Value_Type ); -- MCS$PDEF_REMOVE -- -- Remove property definition from element type -- procedure Remove (Status : out Status_Type; -- Status return code Elementtype_ElementID : in Element_ID_Type; Property_ElementID : in Element_ID_Type ); -- ++ -- -- Begin value-added declarations -- -- -- Some less cryptic names for properties -- Available_Version : StringDSC_Type renames Avail_Version; Reserved_Versions : StringDSC_Type renames Checkout; Computed_Properties : StringDSC_Type renames Comp_Prop_Def; Context_Directory : StringDSC_Type renames Context_Dir; Current_Collection : StringDSC_Type renames Curr_Collection; Current_Context : StringDSC_Type renames Curr_Context; Defined_Properties : StringDSC_Type renames Defined_Prop_Def; Method_Function_Type : StringDSC_Type renames Func_Type; Keep_History : StringDSC_Type renames Keep_Hist; Message_Sent : StringDSC_Type renames Msg_Sent; Message_Target : StringDSC_Type renames Msg_Target; Previous_Versions : StringDSC_Type renames Prev_Versions; Properties : StringDSC_Type renames Prop_Def; Relation_Properties : StringDSC_Type renames Rel_Prop_Def; -- -- End value-added declarations -- -- -- end Property; -- -- Possible types of method functions -- (values of "funcType" on METHOD) -- type Method_Options_Type is (Internal_Code, Illegal, Internal_Script, External_Code, External_Program, Null_Method, Transparent, SuperOp ); for Method_Options_Type use (Internal_Code => 0, Illegal => 1, Internal_Script => 2, External_Code => 3, External_Program => 4, Null_Method => 6, Transparent => 7, SuperOp => 8 ); for Method_Options_Type'Size use 32; -- -- Names for Atherton Compatibility -- function Internal_Method return Method_Options_Type renames Internal_Code; function Script_Method return Method_Options_Type renames Internal_Script; function External_Method return Method_Options_Type renames External_Code; function Program_Method return Method_Options_Type renames External_Program; -- -- Possible status states for a version -- (value of "status" on VERSION) -- type Reservation_Status_Type is (Available, Read_Only, Reserved, Frozen, Reserved_Concurrently ); for Reservation_Status_Type use (Available => 0, Read_Only => 1, Reserved => 2, Frozen => 3, Reserved_Concurrently => 4 ); for Reservation_Status_Type'Size use 32; -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- Arglist -- vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv package Arglist is -- -- Possible passing mechanisms for message arguments -- type Passing_Mode_Options_Type is (Mode_In, Mode_Out, Mode_In_Out ); for Passing_Mode_Options_Type use (Mode_In => 1, Mode_Out => 2, Mode_In_Out => 3 ); for Passing_Mode_Options_Type'Size use 32; -- MCS$ARGLIST_ADDARG -- -- Initialize new argument and append to list -- procedure Add_Argument (Status : out Status_Type; -- Status return code Argument_Name : in StringDSC_Type; Argument_Value : in Value_Type; Argument_Status : in Status_Type; Argument_List_Value : in Value_Type ); procedure Add_Argument (Status : out Status_Type; -- Status return code Argument_Name : in String; Argument_Value : in Value_Type; Argument_Status : in Status_Type; Argument_List_Value : in Value_Type ); -- MCS$ARGLIST_FINDARG -- -- Get information from named argument -- procedure Find_Argument (Status : out Status_Type; -- Status return code Argument_List_Value : in Value_Type; Argument_Name : in StringDSC_Type ); procedure Find_Argument (Status : out Status_Type; -- Status return code Argument_List_Value : in Value_Type; Argument_Name : in String ); procedure Find_Argument (Status : out Status_Type; -- Status return code Argument_List_Value : in Value_Type; Argument_Name : in StringDSC_Type; Argument_Value : out Value_Type ); procedure Find_Argument (Status : out Status_Type; -- Status return code Argument_List_Value : in Value_Type; Argument_Name : in String; Argument_Value : out Value_Type ); procedure Find_Argument (Status : out Status_Type; -- Status return code Argument_List_Value : in Value_Type; Argument_Name : in StringDSC_Type; Argument_Status : out Status_Type ); procedure Find_Argument (Status : out Status_Type; -- Status return code Argument_List_Value : in Value_Type; Argument_Name : in String; Argument_Status : out Status_Type ); procedure Find_Argument (Status : out Status_Type; -- Status return code Argument_List_Value : in Value_Type; Argument_Name : in StringDSC_Type; Argument_Value : out Value_Type; Argument_Status : out Status_Type ); procedure Find_Argument (Status : out Status_Type; -- Status return code Argument_List_Value : in Value_Type; Argument_Name : in String; Argument_Value : out Value_Type; Argument_Status : out Status_Type ); procedure Find_Argument (Status : out Status_Type; -- Status return code Argument_List_Value : in Value_Type; Argument_Name : in StringDSC_Type; Index_Number : out Long_Integer_Type ); procedure Find_Argument (Status : out Status_Type; -- Status return code Argument_List_Value : in Value_Type; Argument_Name : in String; Index_Number : out Long_Integer_Type ); procedure Find_Argument (Status : out Status_Type; -- Status return code Argument_List_Value : in Value_Type; Argument_Name : in StringDSC_Type; Argument_Value : out Value_Type; Index_Number : out Long_Integer_Type ); procedure Find_Argument (Status : out Status_Type; -- Status return code Argument_List_Value : in Value_Type; Argument_Name : in String; Argument_Value : out Value_Type; Index_Number : out Long_Integer_Type ); procedure Find_Argument (Status : out Status_Type; -- Status return code Argument_List_Value : in Value_Type; Argument_Name : in StringDSC_Type; Argument_Status : out Status_Type; Index_Number : out Long_Integer_Type ); procedure Find_Argument (Status : out Status_Type; -- Status return code Argument_List_Value : in Value_Type; Argument_Name : in String; Argument_Status : out Status_Type; Index_Number : out Long_Integer_Type ); procedure Find_Argument (Status : out Status_Type; -- Status return code Argument_List_Value : in Value_Type; Argument_Name : in StringDSC_Type; Argument_Value : out Value_Type; Argument_Status : out Status_Type; Index_Number : out Long_Integer_Type ); procedure Find_Argument (Status : out Status_Type; -- Status return code Argument_List_Value : in Value_Type; Argument_Name : in String; Argument_Value : out Value_Type; Argument_Status : out Status_Type; Index_Number : out Long_Integer_Type ); -- MCS$ARGLIST_GETARG -- -- Get information from indexed argument -- procedure Get_Argument (Status : out Status_Type; -- Status return code Argument_List_Value : in Value_Type; Index_Number : in Long_Integer_Type ); procedure Get_Argument (Status : out Status_Type; -- Status return code Argument_List_Value : in Value_Type; Index_Number : in Long_Integer_Type; Argument_Value : out Value_Type ); procedure Get_Argument (Status : out Status_Type; -- Status return code Argument_List_Value : in Value_Type; Index_Number : in Long_Integer_Type; Argument_Status : out Status_Type ); procedure Get_Argument (Status : out Status_Type; -- Status return code Argument_List_Value : in Value_Type; Index_Number : in Long_Integer_Type; Argument_Value : out Value_Type; Argument_Status : out Status_Type ); procedure Get_Argument (Status : out Status_Type; -- Status return code Argument_List_Value : in Value_Type; Index_Number : in Long_Integer_Type; Argument_Name : in out StringDSC_Type ); procedure Get_Argument (Status : out Status_Type; -- Status return code Argument_List_Value : in Value_Type; Index_Number : in Long_Integer_Type; Argument_Value : out Value_Type; Argument_Name : in out StringDSC_Type ); procedure Get_Argument (Status : out Status_Type; -- Status return code Argument_List_Value : in Value_Type; Index_Number : in Long_Integer_Type; Argument_Status : out Status_Type; Argument_Name : in out StringDSC_Type ); procedure Get_Argument (Status : out Status_Type; -- Status return code Argument_List_Value : in Value_Type; Index_Number : in Long_Integer_Type; Argument_Value : out Value_Type; Argument_Status : out Status_Type; Argument_Name : in out StringDSC_Type ); -- MCS$ARGLIST_SETINDEXVALUE -- -- Set information in indexed argument -- procedure Set_Index_Value (Status : out Status_Type; -- Status return code Argument_List_Value : in Value_Type; Index_Number : in Long_Integer_Type; Argument_Value : in Value_Type; Argument_Status : in Status_Type ); -- MCS$ARGLIST_SETNAMEVALUE -- -- Set information in named argument -- procedure Set_Name_Value (Status : out Status_Type; -- Status return code Argument_List_Value : in out Value_Type; Argument_Name : in StringDSC_Type ); procedure Set_Name_Value (Status : out Status_Type; -- Status return code Argument_List_Value : in out Value_Type; Argument_Name : in String ); procedure Set_Name_Value (Status : out Status_Type; -- Status return code Argument_List_Value : in out Value_Type; Argument_Name : in StringDSC_Type; Argument_Value : in Value_Type ); procedure Set_Name_Value (Status : out Status_Type; -- Status return code Argument_List_Value : in out Value_Type; Argument_Name : in String; Argument_Value : in Value_Type ); procedure Set_Name_Value (Status : out Status_Type; -- Status return code Argument_List_Value : in out Value_Type; Argument_Name : in StringDSC_Type; Argument_Status : in Status_Type ); procedure Set_Name_Value (Status : out Status_Type; -- Status return code Argument_List_Value : in out Value_Type; Argument_Name : in String; Argument_Status : in Status_Type ); procedure Set_Name_Value (Status : out Status_Type; -- Status return code Argument_List_Value : in out Value_Type; Argument_Name : in StringDSC_Type; Argument_Value : in Value_Type; Argument_Status : in Status_Type ); procedure Set_Name_Value (Status : out Status_Type; -- Status return code Argument_List_Value : in out Value_Type; Argument_Name : in String; Argument_Value : in Value_Type; Argument_Status : in Status_Type ); end Arglist; -- -- Possible reservation mode for the closure -- -- type Reservation_Mode_Options_Type is (None, -- Oracle Extension Top, -- Oracle Extension Bottom, -- Oracle Extension Both, -- Oracle Extension Closure -- Oracle Extension ); for Reservation_Mode_Options_Type use (None => 0, Top => 1, Bottom => 2, Both => 3, Closure => 4 ); for Reservation_Mode_Options_Type'Size use 32; function Reserve_To_All -- Oracle Extension - synonym for MCS$K_TO_BOTH return Reservation_Mode_Options_Type renames Both; -- -- File system definitions -- Max_Filename_Length : constant := 255; -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- Scan -- vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv package Scan is -- -- Constants for use by computed scan methods. These values are passed to the -- method to tell it what action to perform on the scan. -- type Scan_Actions_Type is (Reset, Next, Free ); for Scan_Actions_Type use (Reset => 1, Next => 2, Free => 3 ); for Scan_Actions_Type'Size use 32; -- MCS$SCAN_DIR -- -- Get scan based on name and type -- procedure Directory (Status : out Status_Type; -- Status return code Scan_Value : out Value_Type; Directory_Name : in StringDSC_Type; Elementtype_ElementID : in Element_ID_Type ); procedure Directory (Status : out Status_Type; -- Status return code Scan_Value : out Value_Type; Directory_Name : in String; Elementtype_ElementID : in Element_ID_Type ); -- MCS$SCAN_FREE -- -- Free a scan -- procedure Free (Status : out Status_Type; -- Status return code Scan_Value : in out Value_Type ); -- MCS$SCAN_GETBYNAME -- -- Find element with given name in scan -- procedure Get_By_Name (Status : out Status_Type; -- Status return code Scan_Value : in Value_Type; Element_Name : in StringDSC_Type; Element_ElementID : out Element_ID_Type ); procedure Get_By_Name (Status : out Status_Type; -- Status return code Scan_Value : in Value_Type; Element_Name : in String; Element_ElementID : out Element_ID_Type ); procedure Get_By_Name (Status : out Status_Type; -- Status return code Scan_Value : in Value_Type; Element_Name : in StringDSC_Type; Element_ElementID : out Element_ID_Type; Relation_ElementID : out Element_ID_Type ); procedure Get_By_Name (Status : out Status_Type; -- Status return code Scan_Value : in Value_Type; Element_Name : in String; Element_ElementID : out Element_ID_Type; Relation_ElementID : out Element_ID_Type ); -- MCS$SCAN_GETCURRENT -- -- Get the current element in the scan -- procedure Get_Current (Status : out Status_Type; -- Status return code Scan_Value : in Value_Type; Element_ElementID : out Element_ID_Type ); procedure Get_Current (Status : out Status_Type; -- Status return code Scan_Value : in Value_Type; Element_ElementID : out Element_ID_Type; Relation_ElementID : out Element_ID_Type ); -- MCS$SCAN_GETFIRST -- -- Get the first element in the scan -- procedure Get_First (Status : out Status_Type; -- Status return code Scan_Value : in Value_Type; Element_ElementID : out Element_ID_Type ); procedure Get_First (Status : out Status_Type; -- Status return code Scan_Value : in Value_Type; Element_ElementID : out Element_ID_Type; Relation_ElementID : out Element_ID_Type ); -- MCS$SCAN_GETNEXT -- -- Get the next element in the scan -- procedure Get_Next (Status : out Status_Type; -- Status return code Scan_Value : in Value_Type; Element_ElementID : out Element_ID_Type ); procedure Get_Next (Status : out Status_Type; -- Status return code Scan_Value : in Value_Type; Element_ElementID : out Element_ID_Type; Relation_ElementID : out Element_ID_Type ); -- MCS$SCAN_INSERT -- -- Insert an element into the scan -- procedure Insert (Status : out Status_Type; -- Status return code Scan_Value : in Value_Type; Element_ElementID : in Element_ID_Type ); -- MCS$SCAN_INSERT_WITH_ARGS -- -- Insert an element into the scan -- procedure Insert_With_Arguments (Status : out Status_Type; -- Status return code Scan_Value : in Value_Type; Element_ElementID : in Element_ID_Type; Argument_List_Value : in Value_Type ); -- MCS$SCAN_REMOVE -- -- Remove an element from the scan -- procedure Remove (Status : out Status_Type; -- Status return code Scan_Value : in Value_Type; Element_ElementID : in Element_ID_Type ); procedure Remove (Status : out Status_Type; -- Status return code Scan_Value : in Value_Type; Element_ElementID : in Element_ID_Type; Relation_ElementID : in Element_ID_Type ); -- MCS$SCAN_RESET -- -- Reset a scan so that it is set at the beginning -- procedure Reset (Status : out Status_Type; -- Status return code Scan_Value : in Value_Type ); -- MCS$SCAN_QUERY -- -- Create a scan based on a query expression -- procedure Query (Status : out Status_Type; -- Status return code Query_Buffer : in StringDSC_Type; Scan_Value : in out Value_Type ); procedure Query (Status : out Status_Type; -- Status return code Query_Buffer : in String; Scan_Value : in out Value_Type ); procedure Query (Status : out Status_Type; -- Status return code Query_Buffer : in StringDSC_Type; Scan_Value : in out Value_Type; Session_Handle : in Session_ID_Type ); procedure Query (Status : out Status_Type; -- Status return code Query_Buffer : in String; Scan_Value : in out Value_Type; Session_Handle : in Session_ID_Type ); -- ++ -- -- Begin value-added declarations -- -- MCS$SCAN_NEW -- -- Create a new scan -- -- -- Use one of these interfaces to create a scan to supply as the initial -- value for a property. -- procedure Create (Status : out Status_Type; Scan_Value : in Value_Type; Property_Name : in StringDSC_Type; Property_Owns_Type : in Element_ID_Type ); procedure Create (Status : out Status_Type; Scan_Value : in Value_Type; Property_Name : in String; Property_Owns_Type : in Element_ID_Type ); -- -- Use one of these interfaces to create a scan for a computed scan -- property, if your compiler is DEC Ada. -- generic type Method_Context_Type is private; with procedure Scan_Computation_Routine (Status : out Status_Type; Element_ElementID : in Element_ID_Type; Method_Context : in out Method_Context_Type; Result_ElementID : in out Element_ID_Type; Relation_ElementID : in out Element_ID_Type; Scan_Action : in Scan_Actions_Type ) is <>; procedure Create_Generic_Using_StringDSC (Status : out Status_Type; Scan_Value : out Value_Type; Element_ElementID : in Element_ID_Type; Property_Name : in StringDSC_Type; Method_Context : in out Method_Context_Type ); generic type Method_Context_Type is private; with procedure Scan_Computation_Routine (Status : out Status_Type; Element_ElementID : in Element_ID_Type; Method_Context : in out Method_Context_Type; Result_ElementID : in out Element_ID_Type; Relation_ElementID : in out Element_ID_Type; Scan_Action : in Scan_Actions_Type ) is <>; procedure Create_Generic_Using_String (Status : out Status_Type; Scan_Value : out Value_Type; Element_ElementID : in Element_ID_Type; Property_Name : in String; Method_Context : in out Method_Context_Type ); generic type Method_Context_Type is limited private; with procedure Scan_Computation_Routine (Status : out Status_Type; Element_ElementID : in Element_ID_Type; Method_Context : in out Method_Context_Type; Result_ElementID : in out Element_ID_Type; Relation_ElementID : in out Element_ID_Type; Scan_Action : in Scan_Actions_Type ) is <>; procedure Create_Generic_Using_StringDSC_Limited (Status : out Status_Type; Scan_Value : out Value_Type; Element_ElementID : in Element_ID_Type; Property_Name : in StringDSC_Type; Method_Context : in out Method_Context_Type ); generic type Method_Context_Type is limited private; with procedure Scan_Computation_Routine (Status : out Status_Type; Element_ElementID : in Element_ID_Type; Method_Context : in out Method_Context_Type; Result_ElementID : in out Element_ID_Type; Relation_ElementID : in out Element_ID_Type; Scan_Action : in Scan_Actions_Type ) is <>; procedure Create_Generic_Using_String_Limited (Status : out Status_Type; Scan_Value : out Value_Type; Element_ElementID : in Element_ID_Type; Property_Name : in String; Method_Context : in out Method_Context_Type ); -- -- Use one of these interfaces to create a scan for a computed scan -- property, if your compiler is not DEC Ada. -- procedure Create (Status : out Status_Type; Scan_Value : out Value_Type; Element_ElementID : in Element_ID_Type; Scan_Computation_Routine : in System.Address; Property_Name : in StringDSC_Type; Method_Context : in System.Address ); procedure Create (Status : out Status_Type; Scan_Value : out Value_Type; Element_ElementID : in Element_ID_Type; Scan_Computation_Routine : in System.Address; Property_Name : in String; Method_Context : in System.Address ); -- -- End value-added declarations -- -- -- end Scan; -- -- Elmid to send to dispatch_new for near_elmid that means that the user does -- not care what elmid the new elmid is allocated near -- New_Near_Any : constant Element_ID_Type; -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- Message -- vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv package Message is -- -- Message names -- Attach : constant StringDSC_Type := MCS_Private.Initialize_message_attach; Build -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_message_build; Close : constant StringDSC_Type := MCS_Private.Initialize_message_close; Control -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_message_control; Copy -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_message_copy; Demote -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_message_demote; Detach : constant StringDSC_Type := MCS_Private.Initialize_message_detach; Differences : constant StringDSC_Type := MCS_Private.Initialize_message_differences; Duplicate : constant StringDSC_Type := MCS_Private.Initialize_message_duplicate; Edit -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_message_edit; Export : constant StringDSC_Type := MCS_Private.Initialize_message_export; Free : constant StringDSC_Type := MCS_Private.Initialize_message_free; Freeze -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_message_freeze; Get_LNames : constant StringDSC_Type := MCS_Private.Initialize_message_getLNames; Get_LObjs : constant StringDSC_Type := MCS_Private.Initialize_message_getLObjs; Get_Prop : constant StringDSC_Type := MCS_Private.Initialize_message_getProp; Import : constant StringDSC_Type := MCS_Private.Initialize_message_import; Merge : constant StringDSC_Type := MCS_Private.Initialize_message_merge; Create : constant StringDSC_Type := MCS_Private.Initialize_message_new; Open : constant StringDSC_Type := MCS_Private.Initialize_message_open; Promote -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_message_promote; Purge : constant StringDSC_Type := MCS_Private.Initialize_message_purge; Rename : constant StringDSC_Type := MCS_Private.Initialize_message_rename; Replace : constant StringDSC_Type := MCS_Private.Initialize_message_replace; Reserve : constant StringDSC_Type := MCS_Private.Initialize_message_reserve; Set_Prop : constant StringDSC_Type := MCS_Private.Initialize_message_setProp; Translate -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_message_translate; Unfreeze -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_message_unfreeze; Unreserve : constant StringDSC_Type := MCS_Private.Initialize_message_unreserve; Update : constant StringDSC_Type := MCS_Private.Initialize_message_update; Verify : constant StringDSC_Type := MCS_Private.Initialize_message_verify; Write_History : constant StringDSC_Type := MCS_Private.Initialize_message_writeHistory; -- ++ -- -- Begin value-added declarations -- -- -- A few less cryptic message names -- Get_Logical_Object_Names : StringDSC_Type renames Get_LNames; Get_Logical_Objects : StringDSC_Type renames Get_LObjs; Get_Property : StringDSC_Type renames Get_Prop; Set_Property : StringDSC_Type renames Set_Prop; -- -- End value-added declarations -- -- -- end Message; -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- Element -- vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv package Element is -- -- Element Type names -- Element : constant StringDSC_Type := MCS_Private.Initialize_elm_element; Event : constant StringDSC_Type := MCS_Private.Initialize_elm_event; Named_Element : constant StringDSC_Type := MCS_Private.Initialize_elm_named_element; Branch : constant StringDSC_Type := MCS_Private.Initialize_elm_branch; Context : constant StringDSC_Type := MCS_Private.Initialize_elm_context; Database : constant StringDSC_Type := MCS_Private.Initialize_elm_database; Partition -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_partition; Version : constant StringDSC_Type := MCS_Private.Initialize_elm_version; Aggregate : constant StringDSC_Type := MCS_Private.Initialize_elm_aggregate; Binary : constant StringDSC_Type := MCS_Private.Initialize_elm_binary; Binary_Tool : constant StringDSC_Type := MCS_Private.Initialize_elm_binary_tool; Text : constant StringDSC_Type := MCS_Private.Initialize_elm_text; Text_Tool : constant StringDSC_Type := MCS_Private.Initialize_elm_text_tool; Collection : constant StringDSC_Type := MCS_Private.Initialize_elm_collection; Composite : constant StringDSC_Type := MCS_Private.Initialize_elm_composite; Message : constant StringDSC_Type := MCS_Private.Initialize_elm_message; Msgarg : constant StringDSC_Type := MCS_Private.Initialize_elm_msgarg; Persistent_Process -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_persistent_process; Tool : constant StringDSC_Type := MCS_Private.Initialize_elm_tool; Method : constant StringDSC_Type := MCS_Private.Initialize_elm_method; Elm_Type : constant StringDSC_Type := MCS_Private.Initialize_elm_type; Data_Type : constant StringDSC_Type := MCS_Private.Initialize_elm_data_type; Element_Type : constant StringDSC_Type := MCS_Private.Initialize_elm_element_type; Relation_Type -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_relation_type; Property_Type : constant StringDSC_Type := MCS_Private.Initialize_elm_property_type; Relation : constant StringDSC_Type := MCS_Private.Initialize_elm_relation; Notification -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_notification; Depends_On -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_depends_on; Collection_Part -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_collection_part; Composite_Part -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_composite_part; Has_Property -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_has_property; Has_Computed_Property -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_has_computed_property; Has_Relation_Property -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_has_relation_property; Has_Relation -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_has_relation; Implements_Relation -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_implements_relation; Relation_Member -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_relation_member; C_Source_File -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_c_source_file; Method_Invocation -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_method_invocation; ATIS_Method_Invocation -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_atis_method_invoc; ACAS_Method_Invocation -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_acas_method_invoc; Method_Parameter -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_method_parameter; Method_Input -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_method_input; Method_Output -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_method_output; Has_Msgarg -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_has_msgarg; Has_Message_Sent -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_has_msg_sent; Has_Message_Target -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_has_msg_target; Has_Method_Used -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_has_method_used; Diagnostic_File -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_diagnostic_file; Analysis_Data_File -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_analysis_data_file; Object_File -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_object_file; Listing_File -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_listing_file; Executable_File -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_executable_file; Validation -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_validation; Directory -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_directory; Log_File -- Oracle Extension : constant StringDSC_Type := MCS_Private.Initialize_elm_log_file; -- MCS$ELEMENT_GETBYNAME -- -- Get an element, given name and type -- procedure Get_By_Name (Status : out Status_Type; -- Status return code Elementtype_ElementID : in Element_ID_Type; Element_Name : in StringDSC_Type; Element_ElementID : in out Element_ID_Type ); procedure Get_By_Name (Status : out Status_Type; -- Status return code Elementtype_ElementID : in Element_ID_Type; Element_Name : in String; Element_ElementID : in out Element_ID_Type ); -- MCS$ELEMENT_GETNAME -- -- Get the name of an element -- procedure Get_Name (Status : out Status_Type; -- Status return code Element_ElementID : in Element_ID_Type; Element_Name : in out StringDSC_Type ); -- MCS$ELEMENT_GETSUBTYPELIST -- -- Get list of subtypes of element -- procedure Get_Subtype_List (Status : out Status_Type; -- Status return code Element_ElementID : in Element_ID_Type; Subtype_List_Value : out Value_Type ); -- MCS$ELEMENT_GETSUPERTYPELIST -- -- Get list of supertypes of element -- procedure Get_Supertype_List (Status : out Status_Type; -- Status return code Element_ElementID : in Element_ID_Type; Supertype_List_Value : out Value_Type ); -- MCS$ELEMENT_GETTYPE -- -- Get the type of an element -- procedure Get_Type (Status : out Status_Type; -- Status return code Element_ElementID : in Element_ID_Type; Elementtype_ElementID : out Element_ID_Type ); end Element; -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- Argument -- vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv package Argument is -- -- Argument Names -- Arglist : constant StringDSC_Type := MCS_Private.Initialize_arg_arglist; Ancestor_elmID : constant StringDSC_Type := MCS_Private.Initialize_arg_ancestor_elmID; Ancestor_List : constant StringDSC_Type := MCS_Private.Initialize_arg_ancestor_list; Branch_Name : constant StringDSC_Type := MCS_Private.Initialize_arg_branch_name; Closure_Relation -- Temp : constant StringDSC_Type := MCS_Private.Initialize_arg_closure_relation; Closure : constant StringDSC_Type := MCS_Private.Initialize_arg_closure; Closure_List : constant StringDSC_Type := MCS_Private.Initialize_arg_closure_list; Collection_elmID : constant StringDSC_Type := MCS_Private.Initialize_arg_collection_elmID; Comment : constant StringDSC_Type := MCS_Private.Initialize_arg_comment; Concurrent : constant StringDSC_Type := MCS_Private.Initialize_arg_concurrent; Conflict_Routine : constant StringDSC_Type := MCS_Private.Initialize_arg_conflict_routine; Crash_Level : constant StringDSC_Type := MCS_Private.Initialize_arg_crash_level; Default_Attachment : constant StringDSC_Type := MCS_Private.Initialize_arg_default_attachment; Diff_elmID : constant StringDSC_Type := MCS_Private.Initialize_arg_diff_elmID; File_Name : constant StringDSC_Type := MCS_Private.Initialize_arg_fname; History_Record : constant StringDSC_Type := MCS_Private.Initialize_arg_history_record; In_Instance_elmID : constant StringDSC_Type := MCS_Private.Initialize_arg_in_inst_elmID; Instance_elmID : constant StringDSC_Type := MCS_Private.Initialize_arg_inst_elmID; List : constant StringDSC_Type := MCS_Private.Initialize_arg_list; List_Names : constant StringDSC_Type := MCS_Private.Initialize_arg_list_names; List_Objects : constant StringDSC_Type := MCS_Private.Initialize_arg_list_objs; Merge_elmID : constant StringDSC_Type := MCS_Private.Initialize_arg_merge_elmID; Merge_List : constant StringDSC_Type := MCS_Private.Initialize_arg_merge_list; Merge_Successes : constant StringDSC_Type := MCS_Private.Initialize_arg_merge_successes; Merge_Conflicts : constant StringDSC_Type := MCS_Private.Initialize_arg_merge_conflicts; Near_elmID : constant StringDSC_Type := MCS_Private.Initialize_arg_near_elmID; New_Instance_elmID : constant StringDSC_Type := MCS_Private.Initialize_arg_new_inst_elmID; New_Name : constant StringDSC_Type := MCS_Private.Initialize_arg_new_name; Old_Instance_elmID : constant StringDSC_Type := MCS_Private.Initialize_arg_old_inst_elmID; Original_Type_elmID : constant StringDSC_Type := MCS_Private.Initialize_arg_orig_type_elmID; Out_Instance_elmID : constant StringDSC_Type := MCS_Private.Initialize_arg_out_inst_elmID; Output -- reserve/Nooutput : constant StringDSC_Type := MCS_Private.Initialize_arg_output; Output_Level : constant StringDSC_Type := MCS_Private.Initialize_arg_output_level; Partition_elmID : constant StringDSC_Type := MCS_Private.Initialize_arg_partition_elmID; Property_Name : constant StringDSC_Type := MCS_Private.Initialize_arg_property_name; Property_Name_List : constant StringDSC_Type := MCS_Private.Initialize_arg_property_name_list; Property_Value : constant StringDSC_Type := MCS_Private.Initialize_arg_property_value; Property_Value_List : constant StringDSC_Type := MCS_Private.Initialize_arg_property_value_list; Reason_List : constant StringDSC_Type := MCS_Private.Initialize_arg_reason_list; Result_List : constant StringDSC_Type := MCS_Private.Initialize_arg_result_list; Source_List : constant StringDSC_Type := MCS_Private.Initialize_arg_source_list; Tool_Name : constant StringDSC_Type := MCS_Private.Initialize_arg_tool_name; end Argument; -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- Non_Modular -- vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv package Non_Modular is -- MCS$INITIATE -- -- Prepare environment and dictionary -- procedure Initiate (Status : out Status_Type; -- Status return code Directory_Name : in StringDSC_Type; Elementtype_ElementID : out Element_ID_Type ); procedure Initiate (Status : out Status_Type; -- Status return code Directory_Name : in String; Elementtype_ElementID : out Element_ID_Type ); -- MCS$TERMINATE -- -- End a dictionary session -- procedure Conclude (Status : out Status_Type; -- Status return code Elementtype_ElementID : in Element_ID_Type ); -- MCS$TRANSACTION_INITIATE -- -- Begin a transaction or sub-transaction -- procedure Initiate_Transaction (Status : out Status_Type; -- Status return code Existing_Transaction_Handle : in Transaction_ID_Type; New_Transaction_Handle : out Transaction_ID_Type; Read_Only_Flag : in Boolean := False ); -- MCS$TRANSACTION_TERMINATE -- -- Commit or abort a transaction -- procedure Terminate_Transaction (Status : out Status_Type; -- Status return code Transaction_Handle : in Transaction_ID_Type; Abort_Flag : in Boolean := False ); end Non_Modular; -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- Session -- vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv package Session is -- MCS$SESSION_INITIATE -- -- Start a new session -- procedure Initiate (Status : out Status_Type; -- Status return code Session_Handle : out Session_ID_Type ); -- MCS$SESSION_TERMINATE -- -- Free memory associated with session -- procedure Terminat (Status : out Status_Type; -- Status return code Session_Handle : in out Session_ID_Type ); -- MCS$SET_DEFAULT -- -- Set default directory for MCS session -- procedure Set_Default (Status : out Status_Type; -- Status return code Directory_Name : in StringDSC_Type; Session_Handle : in Session_ID_Type ); procedure Set_Default (Status : out Status_Type; -- Status return code Directory_Name : in String; Session_Handle : in Session_ID_Type ); end Session; -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- Database -- vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv package Database is -- MCS$INITIATE_DATABASE -- -- Access a database -- procedure Initiate (Status : out Status_Type; -- Status return code Database_Name : in StringDSC_Type; Transaction_Handle : in Transaction_ID_Type; Elementtype_ElementID : out Element_ID_Type ); procedure Initiate (Status : out Status_Type; -- Status return code Database_Name : in String; Transaction_Handle : in Transaction_ID_Type; Elementtype_ElementID : out Element_ID_Type ); -- MCS$DB_CLOSE -- -- Close a repository -- procedure Close (Status : out Status_Type; -- Status return code Session_Handle : in Session_ID_Type; DB_Name : in StringDSC_Type ); procedure Close (Status : out Status_Type; -- Status return code Session_Handle : in Session_ID_Type; DB_Name : in String ); -- MCS$DB_FREE -- -- Delete a repository -- procedure Free (Status : out Status_Type; -- Status return code Session_Handle : in Session_ID_Type; DB_Name : in StringDSC_Type ); procedure Free (Status : out Status_Type; -- Status return code Session_Handle : in Session_ID_Type; DB_Name : in String ); -- MCS$DB_NEW -- -- Create a repository -- procedure Create (Status : out Status_Type; -- Status return code Session_Handle : in Session_ID_Type; DB_Name : in StringDSC_Type; Anchorroot_Name : in StringDSC_Type ); procedure Create (Status : out Status_Type; -- Status return code Session_Handle : in Session_ID_Type; DB_Name : in String; Anchorroot_Name : in StringDSC_Type ); procedure Create (Status : out Status_Type; -- Status return code Session_Handle : in Session_ID_Type; DB_Name : in StringDSC_Type; Anchorroot_Name : in String ); procedure Create (Status : out Status_Type; -- Status return code Session_Handle : in Session_ID_Type; DB_Name : in String; Anchorroot_Name : in String ); end Database; -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- Error_Stack -- vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv package Error_Stack is -- MCS$ERRORSTACK_CLEAR -- -- Remove entry from error stack -- procedure Clear (Status : out Status_Type; -- Status return code Index_Number : in Long_Integer_Type ); -- MCS$ERRORSTACK_CLEARALL -- -- Remove all entries from errorstack -- procedure Clear_All (Status : out Status_Type -- Status return code ); -- MCS$ERRORSTACK_FORMAT -- -- Format message from error stack -- procedure Format (Status : out Status_Type; -- Status return code Index_Number : in Long_Integer_Type; Message_Buffer : in out StringDSC_Type ); -- MCS$ERRORSTACK_GETCURRENTSIZE -- -- Get number of entries on error stack -- procedure Get_Current_Size (Status : out Status_Type; -- Status return code Current_Size : out Long_Integer_Type ); -- MCS$ERRORSTACK_GETMAXSIZE -- -- Get stack's maximum number of entries -- procedure Get_Max_Size (Status : out Status_Type; -- Status return code Maximum_Size : out Long_Integer_Type ); -- MCS$ERRORSTACK_GETSTATUS -- -- Get status code for error stack entry procedure Get_Status (Status : out Status_Type; -- Status return code Index_Number : in Long_Integer_Type; Status_Code : out Status_Type ); -- MCS$ERRORSTACK_SET -- -- Push new entry onto error stack -- procedure Set (Status : out Status_Type; -- Status return code Status_Code : in Status_Type ); procedure Set (Status : out Status_Type; -- Status return code Status_Code : in Status_Type; Argument_Count : in Long_Integer_Type ); procedure Set (Status : out Status_Type; -- Status return code Status_Code : in Status_Type; Argument_List : in Value_Type ); procedure Set (Status : out Status_Type; -- Status return code Status_Code : in Status_Type; Argument_Count : in Long_Integer_Type; Argument_List : in Value_Type ); -- MCS$ERRORSTACK_SETMAXSIZE -- -- Set maximum number of stack entries -- procedure Set_Max_Size (Status : out Status_Type; -- Status return code Maximum_Size : in Long_Integer_Type ); end Error_Stack; --************************************************************************* -- MCS$DISPATCH_OP -- -- Dispatch message to listed elements -- procedure Dispatch_Op (Status : out Status_Type; -- Status return code Element_ElementID : in Element_ID_Type; Message_Name : in StringDSC_Type ); procedure Dispatch_Op (Status : out Status_Type; -- Status return code Element_ElementID : in Element_ID_Type; Message_Name : in String ); procedure Dispatch_Op (Status : out Status_Type; -- Status return code Element_ElementID : in Element_ID_Type; Message_Name : in StringDSC_Type; Argument_List_Value : in out Value_Type ); procedure Dispatch_Op (Status : out Status_Type; -- Status return code Element_ElementID : in Element_ID_Type; Message_Name : in String; Argument_List_Value : in out Value_Type ); -- MCS$DISPATCH_SUPEROP -- -- Dispatch message to supertype of listed elements -- procedure Dispatch_SuperOp (Status : out Status_Type; -- Status return code Elementtype_ElementID : in Element_ID_Type; Element_ElementID : in Element_ID_Type; Message_Name : in StringDSC_Type ); procedure Dispatch_SuperOp (Status : out Status_Type; -- Status return code Elementtype_ElementID : in Element_ID_Type; Element_ElementID : in Element_ID_Type; Message_Name : in String ); procedure Dispatch_SuperOp (Status : out Status_Type; -- Status return code Elementtype_ElementID : in Element_ID_Type; Element_ElementID : in Element_ID_Type; Message_Name : in StringDSC_Type; Argument_List_Value : in out Value_Type ); procedure Dispatch_SuperOp (Status : out Status_Type; -- Status return code Elementtype_ElementID : in Element_ID_Type; Element_ElementID : in Element_ID_Type; Message_Name : in String; Argument_List_Value : in out Value_Type ); -- ++ -- -- Begin value-added declarations -- -- -- Declarations for package StringDSC value-added interface -- Invalid_StringDSC -- Indicates a StringDSC is not valid : exception; Null_StringDSC : StringDSC_Type renames MCS_Private.Null_StringDSC; -- -- Exception for package ElmID value-added interfaces -- Invalid_ElmID -- Raised in lieu of status return : exception; -- -- Renamings of version status -- Avail : constant Reservation_Status_Type := Available; RO : constant Reservation_Status_Type := Read_Only; Ghost : constant Reservation_Status_Type := Reserved; Ghost_Conc : constant Reservation_Status_Type := Reserved_Concurrently; -- -- Renamings of reservation modes -- Reserve_Element_Only : constant Reservation_Mode_Options_Type := None; Reserve_to_Top_Collection : constant Reservation_Mode_Options_Type := Top; Reserve_Collection_Subhierarchy : constant Reservation_Mode_Options_Type := Bottom; Reserve_to_Top_and_Bottom : constant Reservation_Mode_Options_Type := Both; package Operators is -- ++ -- -- PACKAGE DESCRIPTION: -- -- This package re-exports infix operators. This package could be -- referenced in a "use" clause with little loss of clarity. -- -- For example: -- -- with MCS; -- procedure Main is -- A, B : MCS.Long_Integer_Type; -- use MCS.Operators; -- begin -- ... -- A = A + B; -- ... -- end Main; -- -- -- function "-" (L, R : Long_Integer_Type) return Long_Integer_Type renames MCS_Reusable_Types."-"; function "+" (L, R : Long_Integer_Type) return Long_Integer_Type renames MCS_Reusable_Types."+"; function "*" (L, R : Long_Integer_Type) return Long_Integer_Type renames MCS_Reusable_Types."*"; function "/" (L, R : Long_Integer_Type) return Long_Integer_Type renames MCS_Reusable_Types."/"; function "=" (L, R : Long_Integer_Type) return Boolean renames MCS_Reusable_Types."="; function ">" (L, R : Long_Integer_Type) return Boolean renames MCS_Reusable_Types.">"; function ">=" (L, R : Long_Integer_Type) return Boolean renames MCS_Reusable_Types.">="; function "<" (L, R : Long_Integer_Type) return Boolean renames MCS_Reusable_Types."<"; function "<=" (L, R : Long_Integer_Type) return Boolean renames MCS_Reusable_Types."<="; function "mod" (L, R : Long_Integer_Type) return Long_Integer_Type renames MCS_Reusable_Types."mod"; function "rem" (L, R : Long_Integer_Type) return Long_Integer_Type renames MCS_Reusable_Types."rem"; function "-" (L, R : Small_Integer_Type) return Small_Integer_Type renames MCS_Reusable_Types."-"; function "+" (L, R : Small_Integer_Type) return Small_Integer_Type renames MCS_Reusable_Types."+"; function "*" (L, R : Small_Integer_Type) return Small_Integer_Type renames MCS_Reusable_Types."*"; function "/" (L, R : Small_Integer_Type) return Small_Integer_Type renames MCS_Reusable_Types."/"; function "=" (L, R : Small_Integer_Type) return Boolean renames MCS_Reusable_Types."="; function ">" (L, R : Small_Integer_Type) return Boolean renames MCS_Reusable_Types.">"; function ">=" (L, R : Small_Integer_Type) return Boolean renames MCS_Reusable_Types.">="; function "<" (L, R : Small_Integer_Type) return Boolean renames MCS_Reusable_Types."<"; function "<=" (L, R : Small_Integer_Type) return Boolean renames MCS_Reusable_Types."<="; function "mod" (L, R : Small_Integer_Type) return Small_Integer_Type renames MCS_Reusable_Types."mod"; function "rem" (L, R : Small_Integer_Type) return Small_Integer_Type renames MCS_Reusable_Types."rem"; function "-" (L, R : Double_Type) return Double_Type renames MCS."-"; function "+" (L, R : Double_Type) return Double_Type renames MCS."+"; function "*" (L, R : Double_Type) return Double_Type renames MCS."*"; function "/" (L, R : Double_Type) return Double_Type renames MCS."/"; function "=" (L, R : Double_Type) return Boolean renames MCS."="; function ">" (L, R : Double_Type) return Boolean renames MCS.">"; function ">=" (L, R : Double_Type) return Boolean renames MCS.">="; function "<" (L, R : Double_Type) return Boolean renames MCS."<"; function "<=" (L, R : Double_Type) return Boolean renames MCS."<="; function "-" (L, R : Float_Type) return Float_Type renames MCS."-"; function "+" (L, R : Float_Type) return Float_Type renames MCS."+"; function "*" (L, R : Float_Type) return Float_Type renames MCS."*"; function "/" (L, R : Float_Type) return Float_Type renames MCS."/"; function "=" (L, R : Float_Type) return Boolean renames MCS."="; function ">" (L, R : Float_Type) return Boolean renames MCS.">"; function ">=" (L, R : Float_Type) return Boolean renames MCS.">="; function "<" (L, R : Float_Type) return Boolean renames MCS."<"; function "<=" (L, R : Float_Type) return Boolean renames MCS."<="; function "-" (L, R : Datetime_Type) return Datetime_Type renames MCS."-"; function "+" (L, R : Datetime_Type) return Datetime_Type renames MCS."+"; function "*" (L, R : Datetime_Type) return Datetime_Type renames MCS."*"; function "/" (L, R : Datetime_Type) return Datetime_Type renames MCS."/"; function "=" (L, R : Datetime_Type) return Boolean renames MCS."="; function ">" (L, R : Datetime_Type) return Boolean renames MCS.">"; function ">=" (L, R : Datetime_Type) return Boolean renames MCS.">="; function "<" (L, R : Datetime_Type) return Boolean renames MCS."<"; function "<=" (L, R : Datetime_Type) return Boolean renames MCS."<="; function "mod" (L, R : Datetime_Type) return Datetime_Type renames MCS."mod"; function "rem" (L, R : Datetime_Type) return Datetime_Type renames MCS."rem"; function "=" (L, R : in StringDSC_Type) return Boolean renames MCS_Private."="; function "=" (L, R : in Element_ID_Type) return Boolean; function "=" (L, R : in Status_Type) return Boolean renames MCS."="; function "&" (L : String; R : StringDSC_Type) return String renames MCS_Private."&"; function "&" (L : StringDSC_Type; R : String) return String renames MCS_Private."&"; end Operators; -- -- End value-added declarations -- -- -- private -- -- A element id in the database -- type Element_ID_Type is record ElementID_Data : Integer_32_Array (1 .. 2); end record; for Element_ID_Type use record at mod 4; ElementID_Data at 0 range 0 .. 63; end record; for Element_ID_Type'Size use 64; -- -- A value struct is used to pass values around -- type Value_Type is record Value_Data : Integer_32_Array (1 .. 4); end record; for Value_Type use record at mod 4; Value_Data at 0 range 0 .. 127; end record; for Value_Type'Size use 128; -- -- Session handles are processed by the session and transaction routines -- type Session_ID_Type is record Session_Data : Integer_32_Array (1 .. 2); end record; for Session_ID_Type use record at mod 4; Session_Data at 0 range 0 .. 63; end record; for Session_ID_Type'Size use 64; -- -- Transaction handles are processed by the session and transaction routines -- type Transaction_ID_Type is record Transaction_Data : Integer_32_Array (1 .. 2); end record; for Transaction_ID_Type use record at mod 4; Transaction_Data at 0 range 0 .. 63; end record; for Transaction_ID_Type'Size use 64; -- ++ -- -- Begin value-added declarations -- function To_elmID is new Unchecked_Conversion (Source => MCS_Private.MCS_Element_ID_Type, Target => Element_ID_Type ); -- -- End value-added declarations -- -- -- New_Near_Any : constant Element_ID_Type := To_elmID (MCS_Private.Initialize_new_near_any); end MCS;