//_Header //******************************************************************* // NOVA Central Controls --- Lawrence Livermore Laboratory //******************************************************************* // //_Module_Name: VMSDESCR // //_Description: // This module contains the declarations of // procedures and types needed to manipulate // VAX/VMS string descriptors in Praxis programs. //_Call: // string_to_descr ( in_array, out_descriptor ) // // Where: in_array -- is a flex array of char // or a quoted string. // out_descriptor -- is a variable of type // string_descriptor // //_Identifier: { none } //******************************************************************* //_Author: J. M. Duffy _Creation_Date: 26-SEP-1980 //_Revisions: // 1.000 26-SEP-1980 JMD Initial Key-in. // 1.100 14-dec-1980 JMD Convert procedure declarations to new // praxis syntax. Also moved to [nsm.src] // 1.101 15-dec-1980 JMD Use code string routine here as opposed to // Having fortran do it. // 1.102 3-aug-1981 (JMD?) Packed array of char... // 1.103 2-SEP-1981 JLW LSI VERSION // 1.104 23-Apr-1985 FWH Cleaned out debug messages, made for VMS only %ident "1.104" //******************************************************************* //_End module descr export string_descriptor_type, string_to_descr declare string_descriptor_type is structure length : 16 bit integer type : 16 bit integer initially 16!010E // vax flexible string. ptr : 32 bit cardinal // to hold the string address endstructure enddeclare procedure string_to_descr ( in_string : in ref packed array [1..?n] of char , out_descr : inout ref string_descriptor_type ) out_descr.length := n out_descr.ptr := addressof(in_string) endprocedure { string_to_descr } endmodule