HP OpenVMS Systems Documentation
OpenVMS RTL General Purpose (OTS$) Manual
Order Number: AA--PV6HD--TK
This manual documents the general-purpose routines contained in the OTS$ facility of the OpenVMS Run-Time Library.
Revision/Update Information: This manual supersedes the OpenVMS RTL General Purpose (OTS$) Manual, OpenVMS Alpha Version 7.1 and OpenVMS VAX Version 7.1.
Software Version: OpenVMS Alpha Version 7.3 OpenVMS VAX Version 7.3
Compaq Computer Corporation
© 2001 Compaq Computer Corporation
Compaq, VAX, VMS, and the Compaq logo Registered in U.S. Patent and Trademark Office.
OpenVMS is a trademark of Compaq Information Technologies Group, L.P. in the United States and other countries.
All other product names mentioned herein may be trademarks of their respective companies.
Confidential computer software. Valid license from Compaq 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.
Compaq shall not 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 Compaq products are set forth in the express limited warranty statements accompanying such products. Nothing herein should be construed as constituting an additional warranty.
The Compaq OpenVMS documentation set is available on CD-ROM.
This manual provides users of the OpenVMS operating system with detailed usage and reference information on general-purpose routines supplied in the OTS$ facility of the Run-Time Library.
This manual is intended for system and application programmers who write programs that call OTS$ Run-Time Library routines.
This manual is organized into two parts as follows:
The Run-Time Library routines are documented in a series of reference manuals. A description of how the Run-Time Library routines are accessed and of OpenVMS features and functionality available through calls to the OTS$ Run-Time Library appears in the OpenVMS Programming Concepts Manual. Descriptions of other RTL facilities and their corresponding routines and usages are discussed in the following books:
The Guide to the POSIX Threads Library contains guidelines and reference information for Compaq POSIX Threads2, the Compaq Multithreading Run-Time Library.
Application programmers using any programming language can refer to the Guide to Creating OpenVMS Modular Procedures for writing modular and reentrant code.
High-level language programmers will find additional information on calling Run-Time Library routines in their language reference manual. Additional information may also be found in the language user's guide provided with your OpenVMS language software.
For a complete list and description of the manuals in the OpenVMS documentation set, see the OpenVMS Version 7.3 New Features and Documentation Overview.
For additional information about Compaq OpenVMS products and services, access the Compaq website at the following location:
Compaq welcomes your comments on this manual. Please send comments to either of the following addresses:
How To Order Additional Documentation
Use the following World Wide Web address to order additional documentation:
If you need help deciding which documentation best meets your needs, call 800-282-6672.
The following conventions are used in this manual:
This part of the OpenVMS RTL General Purpose (OTS$) Manual contains a general overview of the
routines provided by the OpenVMS RTL General Purpose (OTS$) Facility,
and lists them by function.
|OTS$CNVOUT||Convert a D-floating, G-floating, or H-floating value to a character string.|
|OTS$CVT_L_TB||Convert an unsigned integer to binary text.|
|OTS$CVT_L_TI||Convert a signed integer to signed integer text.|
|OTS$CVT_L_TL||Convert an integer to logical text.|
|OTS$CVT_L_TO||Convert an unsigned integer to octal text.|
|OTS$CVT_L_TU||Convert an unsigned integer to decimal text.|
|OTS$CVT_L_TZ||Convert an integer to hexadecimal text.|
|OTS$CVT_TB_L||Convert binary text to an unsigned integer value.|
|OTS$CVT_TI_L||Convert signed integer text to an integer value.|
|OTS$CVT_TL_L||Convert logical text to an integer value.|
|OTS$CVT_TO_L||Convert octal text to an unsigned integer value.|
|OTS$CVT_TU_L||Convert unsigned decimal text to an integer value.|
|OTS$CVT_T_ x||Convert numeric text to a D-, F-, G-, or H-floating value.|
|OTS$CVT_TZ_L||Convert hexadecimal text to an unsigned integer value.|
For more information on Run-Time Library conversion routines, see the CVT$ reference section in the OpenVMS RTL Library (LIB$) Manual.
|OTS$DIVC x||Perform complex division.|
|OTS$DIV_PK_LONG||Perform packed decimal division with a long divisor.|
|OTS$DIV_PK_SHORT||Perform packed decimal division with a short divisor.|
|OTS$MOVE3||Move data without fill.|
|OTS$MOVE5||Move data with fill.|
|OTS$MULC x||Perform complex multiplication.|
|OTS$POWC xC x||Raise a complex base to a complex floating-point exponent.|
|OTS$POWC xJ||Raise a complex base to a signed longword exponent.|
|OTS$POWDD||Raise a D-floating base to a D-floating exponent.|
|OTS$POWDR||Raise a D-floating base to an F-floating exponent.|
|OTS$POWDJ||Raise a D-floating base to a longword integer exponent.|
|OTS$POWGG||Raise a G-floating base to a G-floating or longword integer exponent.|
|OTS$POWGJ||Raise a G-floating base to a longword integer exponent.|
|+OTS$POWHH_R3||Raise an H-floating base to an H-floating exponent.|
|+OTS$POWHJ_R3||Raise an H-floating base to a longword integer exponent.|
|OTS$POWII||Raise a word integer base to a word integer exponent.|
|OTS$POWJJ||Raise a longword integer base to a longword integer exponent.|
|OTS$POWLULU||Raise an unsigned longword integer base to an unsigned longword integer exponent.|
|OTS$POW xLU||Raise a floating-point base to an unsigned longword integer exponent.|
|OTS$POWRD||Raise an F-floating base to a D-floating exponent.|
|OTS$POWRJ||Raise an F-floating base to a longword integer exponent.|
|OTS$POWRR||Raise an F-floating base to an F-floating exponent.|
|OTS$SCOPY_DXDX||Copy a source string passed by descriptor to a destination string.|
|OTS$SCOPY_R_DX||Copy a source string passed by reference to a destination string.|
|OTS$SFREE1_DD||Free one dynamic string.|
|OTS$SFREEN_DD||Free n dynamic strings.|
|OTS$SGET1_DD||Get one dynamic string.|
1.2 Linking OTS$ Routines on an Alpha System
On Alpha systems, if you use the OTS$ entry points for certain
mathematics routines, you must link against the DPML$SHR.EXE library.
Alternately, you can use the equivalent math$ entry point for the
routine and link against either STARLET.OBJ or the DPML$SHR.EXE
library. Math$ entry points are available only on Alpha systems.
Table 1-8 lists the affected OTS$ entry points with their equivalent math$ entry points. Refer to the Compaq Portable Mathematics Library for information about the math$ entry points.
|OTS$ Entry Point||Math$ Entry Point|
On Alpha systems, the General Purpose (OTS$) routines provide 64-bit virtual addressing capabilities as follows:
The OTS$ routines declared in ots$routines.h do not include prototypes for 64-bit data. You must provide your own generic prototypes for any OTS$ functions you use.