[PEN_CHECKING_STYLE(NONE)] MODULE PASCAL$NCS_ROUTINES; { © Copyright 2005 Hewlett-Packard Development Company, L.P. } { } { Confidential computer software. Valid license from HP and/or } { its subsidiaries required for possession, use, or copying. } { } { Consistent with FAR 12.211 and 12.212, Commercial Computer Software, } { Computer Software Documentation, and Technical Data for Commercial } { Items are licensed to the U.S. Government under vendor's standard } { commercial license. } { } { Neither HP nor any of its subsidiaries shall be liable for technical } { or editorial errors or omissions contained herein. The information } { in this document is provided "as is" without warranty of any kind and } { is subject to change without notice. The warranties for HP products } { are set forth in the express limited warranty statements accompanying } { such products. Nothing herein should be construed as constituting an } { additional warranty. } { } [HIDDEN] TYPE (**** Pre-declared data types ****) $BYTE = [BYTE] -128..127; $WORD = [WORD] -32768..32767; $QUAD = [QUAD,UNSAFE] RECORD L0:UNSIGNED; L1:INTEGER; END; $OCTA = [OCTA,UNSAFE] RECORD L0,L1,L2:UNSIGNED; L3:INTEGER; END; $UBYTE = [BYTE] 0..255; $UWORD = [WORD] 0..65535; $UQUAD = [QUAD,UNSAFE] RECORD L0,L1:UNSIGNED; END; $UOCTA = [OCTA,UNSAFE] RECORD L0,L1,L2,L3:UNSIGNED; END; $PACKED_DEC = [BIT(4),UNSAFE] 0..15; $DEFTYP = [UNSAFE] INTEGER; $DEFPTR = [UNSAFE] ^$DEFTYP; $BOOL = [BIT(1),UNSAFE] BOOLEAN; $BIT = [BIT(1),UNSAFE] BOOLEAN; $BIT2 = [BIT(2),UNSAFE] 0..3; $BIT3 = [BIT(3),UNSAFE] 0..7; $BIT4 = [BIT(4),UNSAFE] 0..15; $BIT5 = [BIT(5),UNSAFE] 0..31; $BIT6 = [BIT(6),UNSAFE] 0..63; $BIT7 = [BIT(7),UNSAFE] 0..127; $BIT8 = [BIT(8),UNSAFE] 0..255; $BIT9 = [BIT(9),UNSAFE] 0..511; $BIT10 = [BIT(10),UNSAFE] 0..1023; $BIT11 = [BIT(11),UNSAFE] 0..2047; $BIT12 = [BIT(12),UNSAFE] 0..4095; $BIT13 = [BIT(13),UNSAFE] 0..8191; $BIT14 = [BIT(14),UNSAFE] 0..16383; $BIT15 = [BIT(15),UNSAFE] 0..32767; $BIT16 = [BIT(16),UNSAFE] 0..65535; $BIT17 = [BIT(17),UNSAFE] 0..131071; $BIT18 = [BIT(18),UNSAFE] 0..262143; $BIT19 = [BIT(19),UNSAFE] 0..524287; $BIT20 = [BIT(20),UNSAFE] 0..1048575; $BIT21 = [BIT(21),UNSAFE] 0..2097151; $BIT22 = [BIT(22),UNSAFE] 0..4194303; $BIT23 = [BIT(23),UNSAFE] 0..8388607; $BIT24 = [BIT(24),UNSAFE] 0..16777215; $BIT25 = [BIT(25),UNSAFE] 0..33554431; $BIT26 = [BIT(26),UNSAFE] 0..67108863; $BIT27 = [BIT(27),UNSAFE] 0..134217727; $BIT28 = [BIT(28),UNSAFE] 0..268435455; $BIT29 = [BIT(29),UNSAFE] 0..536870911; $BIT30 = [BIT(30),UNSAFE] 0..1073741823; $BIT31 = [BIT(31),UNSAFE] 0..2147483647; $BIT32 = [BIT(32),UNSAFE] UNSIGNED; (* MODULE NCS$ROUTINES ; *) (* [HIDDEN] TYPE (**** Pre-declared data types ***?? *) (* $BYTE = [BYTE] -128..127; *) (* $WORD = [WORD] -32768..32767; *) (* $QUAD = [QUAD,UNSAFE] RECORD *) (* L0:UNSIGNED; L1:INTEGER; END; *) (* $OCTA = [OCTA,UNSAFE] RECORD *) (* L0,L1,L2:UNSIGNED; L3:INTEGER; END; *) (* $UBYTE = [BYTE] 0..255; *) (* $UWORD = [WORD] 0..65535; *) (* $UQUAD = [QUAD,UNSAFE] RECORD *) (* L0,L1:UNSIGNED; END; *) (* $UOCTA = [OCTA,UNSAFE] RECORD *) (* L0,L1,L2,L3:UNSIGNED; END; *) (* $UOCTAQUAD = [OCTA(2),UNSAFE] RECORD *) (* L0,L1,L2,L3,L4,L5,L6,L7:UNSIGNED; END; *) (* $PACKED_DEC = [BIT(4),UNSAFE] 0..15; *) (* $DEFTYP = [UNSAFE] INTEGER; *) (* $DEFPTR = [UNSAFE] ^$DEFTYP; *) (* $BOOL = [BIT(1),UNSAFE] BOOLEAN; *) (* $BIT2 = [BIT(2),UNSAFE] 0..3; *) (* $BIT3 = [BIT(3),UNSAFE] 0..7; *) (* $BIT4 = [BIT(4),UNSAFE] 0..15; *) (* $BIT5 = [BIT(5),UNSAFE] 0..31; *) (* $BIT6 = [BIT(6),UNSAFE] 0..63; *) (* $BIT7 = [BIT(7),UNSAFE] 0..127; *) (* $BIT8 = [BIT(8),UNSAFE] 0..255; *) (* $BIT9 = [BIT(9),UNSAFE] 0..511; *) (* $BIT10 = [BIT(10),UNSAFE] 0..1023; *) (* $BIT11 = [BIT(11),UNSAFE] 0..2047; *) (* $BIT12 = [BIT(12),UNSAFE] 0..4095; *) (* $BIT13 = [BIT(13),UNSAFE] 0..8191; *) (* $BIT14 = [BIT(14),UNSAFE] 0..16383; *) (* $BIT15 = [BIT(15),UNSAFE] 0..32767; *) (* $BIT16 = [BIT(16),UNSAFE] 0..65535; *) (* $BIT17 = [BIT(17),UNSAFE] 0..131071; *) (* $BIT18 = [BIT(18),UNSAFE] 0..262143; *) (* $BIT19 = [BIT(19),UNSAFE] 0..524287; *) (* $BIT20 = [BIT(20),UNSAFE] 0..1048575; *) (* $BIT21 = [BIT(21),UNSAFE] 0..2097151; *) (* $BIT22 = [BIT(22),UNSAFE] 0..4194303; *) (* $BIT23 = [BIT(23),UNSAFE] 0..8388607; *) (* $BIT24 = [BIT(24),UNSAFE] 0..16777215; *) (* $BIT25 = [BIT(25),UNSAFE] 0..33554431; *) (* $BIT26 = [BIT(26),UNSAFE] 0..67108863; *) (* $BIT27 = [BIT(27),UNSAFE] 0..134217727; *) (* $BIT28 = [BIT(28),UNSAFE] 0..268435455; *) (* $BIT29 = [BIT(29),UNSAFE] 0..536870911; *) (* $BIT30 = [BIT(30),UNSAFE] 0..1073741823; *) (* $BIT31 = [BIT(31),UNSAFE] 0..2147483647; *) (* $BIT32 = [BIT(32),UNSAFE] UNSIGNED; *) (*** MODULE ncs$routines ***) (**************************************************************************** *) (* * *) (* COPYRIGHT (c) 1988 BY * *) (* DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS. * *) (* ALL RIGHTS RESERVED. * *) (* * *) (* THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED * *) (* ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE * *) (* INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER * *) (* COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY * *) (* OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY * *) (* TRANSFERRED. * *) (* * *) (* THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE * *) (* AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT * *) (* CORPORATION. * *) (* * *) (* DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS * *) (* SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL. * *) (* * *) (* * *) (**************************************************************************** *) (* NCS$COMPARE *) (* *) (* Compare Strings *) (* *) (* Compares two strings using specified collating sequence as comparison *) (* basis. *) (* *) [ASYNCHRONOUS] FUNCTION ncs$compare ( cs_id : UNSIGNED; string_1 : [CLASS_S] PACKED ARRAY [$l2..$u2:INTEGER] OF CHAR; string_2 : [CLASS_S] PACKED ARRAY [$l3..$u3:INTEGER] OF CHAR) : INTEGER; EXTERNAL; (* NCS$CONVERT *) (* *) (* Convert String *) (* *) (* Convert a string using the specified conversion function. *) (* *) [ASYNCHRONOUS] FUNCTION ncs$convert ( cf_id : UNSIGNED; source : [CLASS_S] PACKED ARRAY [$l2..$u2:INTEGER] OF CHAR; VAR dest : [CLASS_S,VOLATILE] PACKED ARRAY [$l3..$u3:INTEGER] OF CHAR; VAR ret_length : [VOLATILE] $UWORD := %IMMED 0; VAR not_cvt : [VOLATILE] $UWORD := %IMMED 0) : INTEGER; EXTERNAL; (* NCS$END_CF *) (* *) (* End Conversion Function *) (* *) (* Terminates the use of a conversion function by the calling program. *) (* *) [ASYNCHRONOUS] FUNCTION ncs$end_cf ( VAR cf_id : [VOLATILE] UNSIGNED) : INTEGER; EXTERNAL; (* NCS$END_CS *) (* *) (* End Collating Sequence *) (* *) (* Terminates the use of a collating sequence by the calling program. *) (* *) [ASYNCHRONOUS] FUNCTION ncs$end_cs ( VAR cs_id : [VOLATILE] UNSIGNED) : INTEGER; EXTERNAL; (* NCS$GET_CF *) (* *) (* Get Conversion Function *) (* *) (* Retrieves the definition of the named conversion function from the NCS *) (* library. *) (* *) [ASYNCHRONOUS] FUNCTION ncs$get_cf ( VAR cf_id : [VOLATILE] UNSIGNED; cfname : [CLASS_S] PACKED ARRAY [$l2..$u2:INTEGER] OF CHAR := %IMMED 0; librar : [CLASS_S] PACKED ARRAY [$l3..$u3:INTEGER] OF CHAR := %IMMED 0) : INTEGER; EXTERNAL; (* NCS$GET_CS *) (* *) (* Get Collating Sequence *) (* *) (* Retrieves the definition of the named collating sequence from the NCS *) (* library. *) (* *) [ASYNCHRONOUS] FUNCTION ncs$get_cs ( VAR cs_id : [VOLATILE] UNSIGNED; csname : [CLASS_S] PACKED ARRAY [$l2..$u2:INTEGER] OF CHAR := %IMMED 0; librar : [CLASS_S] PACKED ARRAY [$l3..$u3:INTEGER] OF CHAR := %IMMED 0) : INTEGER; EXTERNAL; (* NCS$RESTORE_CF *) (* *) (* Restore Conversion Function *) (* *) (* Permits the calling program to restore the definition of a "saved" *) (* conversion function from a data base or an RMS file. *) (* *) [ASYNCHRONOUS] FUNCTION ncs$restore_cf ( VAR cf_id : [VOLATILE] UNSIGNED; LENGTH : UNSIGNED := %IMMED 0; ADDRESS : UNSIGNED := %IMMED 0) : INTEGER; EXTERNAL; (* NCS$RESTORE_CS *) (* *) (* Restore Collating Sequence *) (* *) (* Permits the calling program to restore the definition of a "saved" collating *) (* sequence from a data base or an RMS file. *) (* *) [ASYNCHRONOUS] FUNCTION ncs$restore_cs ( VAR cs_id : [VOLATILE] UNSIGNED; LENGTH : UNSIGNED := %IMMED 0; ADDRESS : UNSIGNED := %IMMED 0) : INTEGER; EXTERNAL; (* NCS$SAVE_CF *) (* *) (* Save Conversion Function *) (* *) (* Provides the calling program with information that permits the application *) (* to store the definition of a conversion function in a local data base or an *) (* RMS file rather than the NCS$LIBRARY. *) (* *) [ASYNCHRONOUS] FUNCTION ncs$save_cf ( cf_id : UNSIGNED; VAR LENGTH : [VOLATILE] UNSIGNED := %IMMED 0; VAR ADDRESS : [VOLATILE] UNSIGNED := %IMMED 0) : INTEGER; EXTERNAL; (* NCS$SAVE_CS *) (* *) (* Save Collating Sequence *) (* *) (* Provides the calling program with information that permits the application *) (* to store the definition of a collating sequence in a local data base or an *) (* RMS file rather than the NCS$LIBRARY. *) (* *) [ASYNCHRONOUS] FUNCTION ncs$save_cs ( cs_id : UNSIGNED; VAR LENGTH : [VOLATILE] UNSIGNED := %IMMED 0; VAR ADDRESS : [VOLATILE] UNSIGNED := %IMMED 0) : INTEGER; EXTERNAL; (* END. *) END.