--| --|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 Pcte; with Pcte_discretionary; package emer_conversion is -- This package contains common conversion routines for mapping -- ECMA Pcte data structures to Emeraude data structures. function emer_access_mode ( ecma_access_rights : in Pcte_discretionary.object.access_rights) return standard.integer; end emer_conversion; package body emer_conversion is function emer_access_mode ( ecma_access_rights : in Pcte_discretionary.object.access_rights) return standard.integer is use Pcte_discretionary.object; mode : standard.integer := 0; begin if ecma_access_rights (READ_ATTRIBUTES) = GRANTED or ecma_access_rights (READ_CONTENTS) = GRANTED or ecma_access_rights (READ_LINKS) = GRANTED or ecma_access_rights (NAVIGATE) = GRANTED then -- ECMA does not seem to have the ability to distinguish -- group and other permissions from owner permissions, so -- we turn them all on. mode := 8#00400# + -- owner read 8#00040# + -- group read 8#00004#; -- others read end if; if ecma_access_rights (APPEND_LINKS) = GRANTED or ecma_access_rights (APPEND_IMPLICIT) = GRANTED or ecma_access_rights (APPEND_CONTENTS) = GRANTED or ecma_access_rights (WRITE_IMPLICIT) = GRANTED or ecma_access_rights (WRITE_ATTRIBUTES) = GRANTED or ecma_access_rights (WRITE_LINKS) = GRANTED or ecma_access_rights (WRITE_CONTENTS) = GRANTED then -- this is probably not the correct setting; owner only write? mode := mode + 8#00200# + -- owner write 8#00020# + -- group write 8#00002#; -- others write end if; if ecma_access_rights (EXECUTE) = GRANTED or ecma_access_rights (EXPLOIT_SCHEMA) = GRANTED then mode := mode + 8#00100# + 8#00010# + 8#00001#; end if; return mode; end emer_access_mode; end emer_conversion;