Technical Capabilities
Having trouble finding what you need?
Get in touch with us, so we can answer your specific questions directly.
Get In Touch

STR$ - STRING Interface Routines

Overview

VX/STR$ provides a call-compatible implementation of OpenVMS-style string processing functions for x86 and ARM Linux. It ensures that OpenVMS applications can manipulate, compare, and process strings while preserving compatibility with existing logic and execution behavior.

Key Features

• Fully compatible with OpenVMS STR$ APIs.

• Supports string manipulation, searching, formatting, and numeric operations.

• Allows seamless migration of OpenVMS applications that rely on STR$ routines.

• Integrates with VX/RT to provide full OpenVMS string processing capabilities on x86 and ARM Linux.

• Maintains OpenVMS string handling behavior, ensuring consistent results across platforms.

VX/STR$ Callable Routines

MTH$ API Function
STR$ADDPerforms addition on string-based numeric data
STR$ANALYZE_SDESCAnalyze string descriptor
STR$ANALYZE_SDESC_64Analyzes a 64-bit string descriptor
STR$APPENDAppend strings
STR$BYTES_COPIEDReturns the number of bytes copied in a string operation
STR$CASE_BLIND_COMPARECase insensitive compare
STR$COMPARECompare strings
STR$COMPARE_EQLCompare for equality
STR$COMPARE_MULTICompares multiple strings for sorting or validation
STR$CONCATConcatenate strings
STR$COPY_DXCopy descriptor
STR$COPY_DX_TO_RCopies a descriptor-based string to a right-aligned buffer
STR$COPY_RCopy right-trimmed string
STR$COPY_R0Copies a right-aligned string without padding
STR$COPY_R64Copies a right-aligned 64-bit string
STR$DIVIDEPerforms division on numeric strings
STR$DUPL_CHARDuplicate characters
STR$ELEMENTExtract string element
STR$FIND_FIRST_IN_SETFind first match in set
STR$FIND_FIRST_NOT_IN_SETFind first non-match
STR$FIND_FIRST_SUBSTRINGFind substring
STR$FREE1_DXFree descriptor
STR$GET_TEMPSTRAllocates a temporary string buffer
STR$GET1_DXGet descriptor
STR$GET1_DX_64Retrieves a 64-bit descriptor-based string
STR$LEFTLeft-align string
STR$LEN_EXTRExtracts the length of a string descriptor
STR$LENGTHReturns the length of a string
STR$MATCH_WILDWildcard string match
STR$MULPerforms multiplication on numeric strings
STR$POINTERRetrieves a pointer to a string descriptor
STR$POS_EXTRExtract position substring
STR$POSITIONFind position in string
STR$PREFIXAdd string prefix
STR$REPLACEReplaces a substring within a string
STR$RIGHTRight-align string
STR$SETVSLENSets the visual length of a string
STR$TRANSLATETranslates characters in a string based on a mapping table
STR$TRIMTrim string
STR$UPCASEConvert string to uppercase

Why Use VX/STR$?

Preserves OpenVMS string processing logic, enabling direct porting of applications.

Provides full compatibility with OpenVMS STR$ functions, ensuring seamless execution of string-based operations on Linux.

Supports key OpenVMS string handling tasks, including searching, formatting, and descriptor-based memory management.

Seamlessly integrates into the VX/RT ecosystem for OpenVMS compatibility on x86 and ARM Linux.

VX/STR$ ensures that OpenVMS applications requiring STR$ services can be migrated without major modifications, preserving productivity and minimizing development costs.

Frequently Asked Questions

Curious about how Sector7 can facilitate your application migration? Explore our FAQs for expert insights.

What is VX/STR$ and how does it help with OpenVMS migration?

VX/STR$ provides a call-compatible implementation of OpenVMS string processing functions for x86 and ARM Linux. It ensures that OpenVMS applications can manipulate, compare, and process strings while preserving compatibility with existing logic and execution behavior, making migration seamless without requiring major code modifications.

For organizations planning their modernization strategy, contact us to discuss how VX/STR$ can support your specific migration requirements.

Which string operations does VX/STR$ support?

VX/STR$ supports comprehensive string manipulation including searching, formatting, numeric operations, concatenation, comparison, trimming, case conversion, and wildcard matching.

How does VX/STR$ integrate with other VX tools?

VX/STR$ seamlessly integrates with VX/RT to provide full OpenVMS string processing capabilities on x86 and ARM Linux platforms.

Does VX/STR$ maintain OpenVMS string handling behavior?

Yes, VX/STR$ maintains OpenVMS string handling behavior, ensuring consistent results across platforms and preserving the exact execution logic of your original applications.

What types of string descriptors does VX/STR$ handle?

VX/STR$ handles various OpenVMS string descriptors including standard descriptors, 64-bit descriptors, and right-aligned descriptors. It provides functions like STR$ANALYZE_SDESC, STR$ANALYZE_SDESC_64, STR$COPY_DX, and STR$GET1_DX_64 for comprehensive descriptor management. Companies like Telstra have successfully leveraged similar string processing capabilities during their migrations.

Can VX/STR$ perform arithmetic operations on string data?

VX/STR$ supports arithmetic operations on string-based numeric data through functions like STR$ADD, STR$DIVIDE, and STR$MUL, maintaining OpenVMS compatibility for numeric string processing.

How does VX/STR$ handle memory management for strings?

VX/STR$ provides descriptor-based memory management through functions like STR$GET1_DX for allocating descriptors, STR$FREE1_DX for releasing memory, and STR$GET_TEMPSTR for temporary string buffers, ensuring proper memory handling consistent with OpenVMS practices.

What are the main benefits of using VX/STR$ for migration projects?

VX/STR$ delivers significant migration benefits by preserving OpenVMS string processing logic and enabling direct porting of applications without major modifications. It provides full compatibility with OpenVMS STR$ functions, ensuring seamless execution of string-based operations on Linux while supporting key tasks like searching, formatting, and descriptor-based memory management.

Organizations like SEB have successfully modernized their systems using similar VX migration tools. The result is minimized development costs, preserved productivity, and reduced project risk. To explore how VX/STR$ can support your migration project, contact us for a detailed consultation.

Transform Your Legacy Software Today!

Get In Touch
Unlock the potential of your legacy software with our expert migration services.