--| --|Item: Ada PCTE Binding --|$Revision: 0.2 $ --|$State: Prototype $ --| --|The Version Description Document (VDD) included with this release provides --|detailed information regarding the condition of the software. The "User --|Feedback" section of the VDD describes how to obtain additional information. --| --|Distribution Statement "A", per DoD Directive 5230.24 --|Authorized for public release; distribution is unlimited. --| --|Copyright (c) 1992, Paramax Systems Corporation, Reston, Virginia --|Copyright is assigned to the U.S. Government, upon delivery thereto, --|in accordance with the DFAR Special Works Clause. --| --|Developed by: Paramax Systems Corporation, --| --|This software, developed under the Software Technology for Adaptable, --|Reliable Systems (STARS) program, is approved for release under --|Distribution "A" of the Scientific and Technical Information Program --|Classification Scheme (DoD Directive 5230.24) unless otherwise indicated. --|Sponsored by the U.S. Defense Advanced Research Projects Agency (DARPA) --|under contract F19628-88-D-0031, the STARS program is supported by the --|military services, SEI, and MITRE, with the U.S. Air Force as the executive --|contracting agent. --| --|Permission to use, copy, modify, and comment on this software and its --|documentation for purposes stated under Distribution "A" and without fee --|is hereby granted, provided that this notice appears in each whole or --|partial copy. This software retains Contractor indemnification to --|the Government regarding copyrights pursuant to the above referenced --|STARS contract. The Government disclaims all responsibility against --|liability, including costs and expenses for violation of proprietary --|rights, or copyrights arising out of the creation or use of this --|software. --| --|In addition, the Government, Paramax, and its subcontractors disclaim all --|warranties with regard to this software, including all implied warranties --|of merchantability and fitness, and in no event shall the Government, --|Paramax, or its subcontractor(s) be liable for any special, indirect or --|consequential damages or any damages whatsoever resulting from the loss of --|use, data, or profits, whether in action of contract, negligence or other --|tortious action, arising in connection with the use or performance of this --|software. --| --|$Log $ --| -- Version Information -- ^^^^^^^^^^^^^^^^^^^ -- -- PCTE - Ada Language Interface. -- Version: 0.2. -- Release Date: November 30, 1992. -- Compiled under SUN OS 4.1.2 using SunAda 1.0 -- -- -- General Information -- ^^^^^^^^^^^^^^^^^^^ -- -- This is an alpha release of the Paramax STARS Ada binding to Emeraude's -- PCTE 1.5 using the ECMA PCTE Ada binding specifications. The binding -- is incomplete in this release. See the Version Description Document -- provided with this alpha release for information on which interfaces -- have been implemented. It is expected that future releases will -- expand the number of interfaces implemented. The interfaces defined -- herein are subject to change. -- -- For further information, contact the authors: -- -- -- Robert Smith -- Paramax Systems Corp. -- Valley Forge Labs -- 70 E. Swedesford Road -- Paoli, PA. 19301 -- smith@prc.unisys.com (current) -- smith@vfl.paramax.com (future) -- +1 215 648-2402 -- -- Michael Horton -- Paramax Systems Corp. -- Valley Forge Labs -- 70 E. Swedesford Road -- Paoli, PA. 19301 -- horton@prc.unisys.com (current) -- horton@vfl.paramax.com (future) -- +1 215 648-2527 -- -- with unchecked_deallocation; package body Pcte_error is procedure free is new unchecked_deallocation ( object => handle_rec, name => handle); -- 25.2 Error Operations procedure set ( status : in out handle; to_record : in boolean := TRUE; to_raise : in boolean := TRUE) is begin if status = null then status := new handle_rec; status.last_error := no_error; status.errno := 0; end if; status.will_record := to_record; status.will_raise := to_raise; end set; procedure unset ( status : in out handle) is -- this will be used to deallocate the status pointer; if app continues -- to use the status variable it will be treated like exception only. begin if status /= null then free (status); end if; end unset; procedure set_will_raise ( status : in out handle; to_raise : in boolean) is begin if status = null then status := new handle_rec; status.last_error := no_error; status.errno := 0; status.will_record := false; end if; status.will_raise := to_raise; end set_will_raise; --166- procedure set_will_record ( status : in out handle; to_record : in boolean) is begin if status = null then status := new handle_rec; status.last_error := no_error; status.errno := 0; status.will_raise := false; end if; status.will_record := to_record; end set_will_record; function will_raise ( status : Pcte_error.handle) return STANDARD.BOOLEAN is begin if status = null then raise ERROR_WITH_PARAMETER; else return status.will_raise; end if; end will_raise; function will_record ( status : handle) return STANDARD.BOOLEAN is begin if status = null then raise ERROR_WITH_PARAMETER; else return status.will_record; end if; end will_record; function last_error ( status : handle) return error_code is begin if status = null then raise ERROR_WITH_PARAMETER; else return status.last_error; end if; end last_error; end Pcte_error;