hpopenvms/hangulrtl koreanprocessing(hsy$) …h41379. · facility of the openvms/hangul run-time...
Post on 27-Jun-2018
222 Views
Preview:
TRANSCRIPT
HP OpenVMS/Hangul RTLKorean Processing (HSY$)ManualOrder Number: BA322-90027
May 2005
This manual documents the library routines contained in the HSY$facility of the OpenVMS/Hangul Run-Time Library.
Revision/Update Information: This document supersedes theIntroduction to the Multi-byteProcessing Run Time Library HSYSHRmanual, Version 6.0
Software Version: OpenVMS/Hangul I64 Version 8.2OpenVMS/Hangul Alpha Version 7.3-2
Hewlett-Packard CompanyPalo Alto, California
© Copyright 2005 Hewlett-Packard Development Company, L.P.
Confidential computer software. Valid license from HP required for possession, use or copying.Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer SoftwareDocumentation, and Technical Data for Commercial Items are licensed to the U.S. Governmentunder vendor’s standard commercial license.
The information contained herein is subject to change without notice. The only warranties for HPproducts and services are set forth in the express warranty statements accompanying such productsand services. Nothing herein should be construed as constituting an additional warranty. HP shallnot be liable for technical or editorial errors or omissions contained herein.
Intel and Itanium are trademarks or registered trademarks of Intel Corporation or its subsidiariesin the United States and other countries.
Printed in Singapore
This document was prepared using DECdocument, Version 3.3-1b.
Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
1 INTRODUCTION
1.1 Organization of the HSYSHR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–11.2 Features of HSYSHR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–61.3 Linking with HSYSHR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–7
2 MULTI-BYTE CHARACTER CONCEPTS
2.1 What is Multi-byte Character? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–12.2 Proper Character Boundary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–12.3 Full Form and Half Form Character . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–12.4 Multi-byte Character Unsigned Longword Representation . . . . . . . . . . . . . 2–2
HSY$ Reference Section
HSY$CH_MOVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/STRI–3HSY$DX_TRIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/STRI–4HSY$DX_TRUNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/STRI–6HSY$TRIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/STRI–8HSY$TRUNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/STRI–9HSY$CH_GCHAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/READ–10HSY$CH_GNEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/READ–11HSY$CH_NEXTG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/READ–12HSY$CH_PCHAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/READ–13HSY$CH_PNEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/READ–15HSY$CH_RCHAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/READ–17HSY$CH_RNEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/READ–18HSY$CH_RPREV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/READ–19HSY$CH_WCHAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/READ–20HSY$CH_WNEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/READ–21HSY$DX_RCHAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/READ–22HSY$DX_RNEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/READ–23HSY$DX_WCHAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/READ–24HSY$DX_WNEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/READ–25HSY$CH_CURR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/POIN–26HSY$CH_NEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/POIN–27HSY$CH_PREV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/POIN–28HSY$DX_POS_CURR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/POIN–29HSY$DX_POS_NEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/POIN–30
iii
HSY$DX_POS_PREV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/POIN–31HSY$DX_SKPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/POIN–32HSY$POS_CURR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/POIN–33HSY$POS_NEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/POIN–35HSY$POS_PREV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/POIN–36HSY$SKPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/POIN–38HSY$COMPARE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/COMP–39HSY$DX_STR_EQUAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/COMP–41HSY$STR_EQUAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/COMP–43HSY$DX_LOCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/SEAR–45HSY$DX_POSITION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/SEAR–46HSY$DX_STR_SEARCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/SEAR–47HSY$DX_STR_START . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/SEAR–49HSY$LOCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/SEAR–51HSY$POSITION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/SEAR–52HSY$STR_SEARCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/SEAR–54HSY$STR_START . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/SEAR–56HSY$CH_NBYTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/COUN–58HSY$CH_NCHAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/COUN–59HSY$CH_SIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/COUN–60HSY$DX_NOF_BYTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/COUN–61HSY$DX_NOF_CHAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/COUN–62HSY$IS_ALPHA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CHAR–63HSY$IS_DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CHAR–64HSY$IS_DIGIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CHAR–65HSY$IS_GENERAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CHAR–66HSY$IS_GREEK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CHAR–67HSY$IS_HIRAGANA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CHAR–68HSY$IS_IDEOGRAPH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CHAR–69HSY$IS_KANA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CHAR–70HSY$IS_KATAKANA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CHAR–71HSY$IS_LEFT_PARENTHESIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CHAR–72HSY$IS_LINE_DRAWING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CHAR–73HSY$IS_LOWER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CHAR–74HSY$IS_NO_FIRST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CHAR–75HSY$IS_NO_LAST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CHAR–76HSY$IS_PARENTHESIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CHAR–77HSY$IS_RIGHT_PARENTHESIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CHAR–78HSY$IS_ROMAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CHAR–79HSY$IS_RUSSIAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CHAR–80HSY$IS_TECHNICAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CHAR–81HSY$IS_UNIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CHAR–82HSY$IS_UPPER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CHAR–83HSY$IS_VALID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CHAR–84HSY$DX_DATE_TIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/DATE–85HSY$DX_TIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/DATE–87HSY$CHG_GENERAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–88
iv
HSY$CHG_KANA_HIRA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–89HSY$CHG_KANA_KANA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–90HSY$CHG_KANA_KATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–91HSY$CHG_KEISEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–92HSY$CHG_ROM_CASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–93HSY$CHG_ROM_FULL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–94HSY$CHG_ROM_HALF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–95HSY$CHG_ROM_LOWER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–96HSY$CHG_ROM_SIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–97HSY$CHG_ROM_UPPER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–98HSY$DX_TRA_KANA_HIRA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–99HSY$DX_TRA_KANA_KANA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–101HSY$DX_TRA_KANA_KATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–103HSY$DX_TRA_ROM_CASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–105HSY$DX_TRA_ROM_FULL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–107HSY$DX_TRA_ROM_HALF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–109HSY$DX_TRA_ROM_LOWER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–111HSY$DX_TRA_ROM_SIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–113HSY$DX_TRA_ROM_UPPER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–115HSY$DX_TRA_SYMBOL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–117HSY$TRA_KANA_HIRA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–119HSY$TRA_KANA_KANA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–121HSY$TRA_KANA_KATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–123HSY$TRA_ROM_CASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–125HSY$TRA_ROM_FULL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–127HSY$TRA_ROM_HALF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–129HSY$TRA_ROM_LOWER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–131HSY$TRA_ROM_SIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–133HSY$TRA_ROM_UPPER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–135HSY$TRA_SYMBOL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HSY/CONV–137
Tables
1–1 HSYSHR routine groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–11–2 String Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–21–3 Read Write Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–21–4 Pointer Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–21–5 Comparison Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–31–6 Searching Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–31–7 Counting Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–41–8 Character Type Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–41–9 Date Time Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–51–10 Conversion Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–5
v
Preface
This manual provides users of the HP OpenVMS/Hangul operating system withdetailed usage and reference information on library routines supplied in theHSY$ facility of the OpenVMS/Hangul Run-Time Library for Korean processing.
Intended AudienceThis manual is intended for application programmers who want to writeapplications for Korean processing.
Document StructureThis manual is organized into two parts as follows:
• The introductory chapters provide reference material on specific types ofHSY$ library routines and Korean processing concepts.
Chapter 1 provides a brief overview of the HSY$ facility and lists the HSY$routines and their functions.
Chapter 2 provides an overview of the concept of Korean characters and theirrepresentation in the HP OpenVMS/Hangul operating system.
• The HSY$ Reference Section describes each library routine contained inthe HSY$ Run-Time Library facility in OpenVMS/Hangul. This informationis presented using the documentation format described in OpenVMSProgramming Interfaces: Calling a System Routine.
Associated DocumentA description of how the Run-Time Library routines are accessed is presentedin OpenVMS Programming Interface: Calling a System Routine. The HSY$Run-Time Library routines can be used with other RTL facilities provided inOpenVMS and OpenVMS/Hangul. Descriptions of the other RTL facilities andtheir corresponding routines are presented in the following books:
• OpenVMS/Hangul RTL Korean Screen Management (SMG$) Manual
• OpenVMS RTL Library (RTL$) Manual
• OpenVMS VAX RTL Mathematics (MTH$) Manual
• OpenVMS RTL General Purpose (OTS$) Manual
• OpenVMS RTL String Manipulation (STR$) Manual
vii
Application programmers using any programming language can refer to Guide toCreating OpenVMS Modular Procedures for writing modular and reentrant code,and OpenVMS/Hangul User Guide for understanding the DEC Hangul characterset.
High-level language programmers will find additional information on callingRun-Time Library routines in their language reference manuals. Additionalinformation may also be found in the programming language user’s guideprovided with your OpenVMS programming language software.
For a complete list and description of the manuals in the OpenVMSdocumentation set, see Overview of OpenVMS Documentation.
For additional information about HP OpenVMS products and services, visit thefollowing World Wide Web address:
http://www.hp.com/go/openvms
ConventionsThe following conventions may be used in this manual:
Ctrl/x A sequence such as Ctrl/x indicates that you must hold downthe key labeled Ctrl while you press another key or a pointingdevice button.
PF1 x A sequence such as PF1 x indicates that you must first pressand release the key labeled PF1 and then press and releaseanother key or a pointing device button.
Return In examples, a key name enclosed in a box indicates thatyou press a key on the keyboard. (In text, a key name is notenclosed in a box.)
In the HTML version of this document, this convention appearsas brackets, rather than a box.
. . . A horizontal ellipsis in examples indicates one of the followingpossibilities:
• Additional optional arguments in a statement have beenomitted.
• The preceding item or items can be repeated one or moretimes.
• Additional parameters, values, or other information can beentered.
.
.
.
A vertical ellipsis indicates the omission of items from a codeexample or command format; the items are omitted becausethey are not important to the topic being discussed.
( ) In command format descriptions, parentheses indicate that youmust enclose choices in parentheses if you specify more thanone.
[ ] In command format descriptions, brackets indicate optionalchoices. You can choose one or more items or no items.Do not type the brackets on the command line. However,you must include the brackets in the syntax for OpenVMSdirectory specifications and for a substring specification in anassignment statement.
viii
| In command format descriptions, vertical bars separate choiceswithin brackets or braces. Within brackets, the choices areoptional; within braces, at least one choice is required. Do nottype the vertical bars on the command line.
{ } In command format descriptions, braces indicate requiredchoices; you must choose at least one of the items listed. Donot type the braces on the command line.
bold type Bold type represents the introduction of a new term. It alsorepresents the name of an argument, an attribute, or a reason.
italic type Italic type indicates important information, complete titlesof manuals, or variables. Variables include information thatvaries in system output (Internal error number), in commandlines (/PRODUCER=name), and in command parameters intext (where dd represents the predefined code for the devicetype).
Example This typeface indicates code examples, command examples, andinteractive screen displays. In text, this type also identifiesURLs, UNIX commands and pathnames, PC-based commandsand folders, and certain elements of the C programminglanguage.
UPPERCASE TYPE Uppercase type indicates a command, the name of a routine,the name of a file, or the abbreviation for a system privilege.
- A hyphen at the end of a command format description,command line, or code line indicates that the command orstatement continues on the following line.
numbers All numbers in text are assumed to be decimal unlessotherwise noted. Nondecimal radixes—binary, octal, orhexadecimal—are explicitly indicated.
ix
1INTRODUCTION
The OpenVMS/Hangul Korean Processing Run Time Library (or simply HSYSHR)is a library of prewritten, commonly-used routines that perform a wide varietyof multi-byte Korean language processing operations. It represents the HSY$facility of the OpenVMS/Hangul Run-Time Library. All HSY$ routines follow theOpenVMS Procedure Calling Standard. They are callable from any programminglanguages supported in OpenVMS/Hangul, thus increasing program flexibility.
1.1 Organization of the HSYSHRRoutines in HSYSHR are grouped according to the types of tasks they perform.Altogether, there are nine groups of routines. All routine names are prefixed bythe facility code HSY$. Those routines prefixed by HSY$DX_ pass strings bydescriptor, otherwise strings are passed by the address of the starting position ofthe string. Table 1–1 shows the nine groups of HSY$ routines.
Table 1–1 HSYSHR routine groups
Group Types of Tasks Performed
String Routines Perform manipulation of strings containing multi-byteor mixed ASCII and multi-byte characters.
Read Write Routines Perform read and write of ASCII and multi-bytecharacters in user buffers.
Pointer Routines Perform character pointer manipulation.
Comparison Routines Perform comparison of strings containing multi-byte ormixed ASCII multi-byte characters.
Searching Routines Perform searching of substrings in buffer containingmulti-byte or mixed ASCII and multi-byte characters.
Counting Routines Perform counting of bytes and characters in buffercontaining multi-byte or mixed ASCII and multi-bytecharacters.
Character Type Routines Perform checking of different classes of local languagesymbols and characters.
Date Time Routines Provide local language date time format.
Conversion Routines Perform various multi-byte character specificconversion.
Table 1–2 to Table 1–10 list all routines available for each of the aforementionedgroups, followed by brief statements of the routines’ functions.
INTRODUCTION 1–1
INTRODUCTION1.1 Organization of the HSYSHR
Table 1–2 String Routines
Routine Name Function
HSY$CH_MOVE Moves a substring from a specified source buffer to aspecified destination buffer.
HSY$TRIM Trims trailing one-byte and multi-byte spaces and TABcharacters.
HSY$TRUNC Returns the position of the first character that followsthe truncated string.
HSY$DX_TRIM Trims trailing one-byte and multi-byte spaces and TABcharacters.
HSY$DX_TRUNC Truncates the input string to the specified length.
Table 1–3 Read Write Routines
Routine Name Function
HSY$CH_GCHAR Reads the current character.
HSY$CH_GNEXT Reads the current character.
HSY$CH_NEXTG Reads the next character, skipping the currentcharacter.
HSY$CH_RCHAR Reads the current character.
HSY$CH_RNEXT Reads the current character.
HSY$CH_RPREV Reads the previous character.
HSY$DX_RCHAR Reads the current character.
HSY$DX_RNEXT Reads the current character.
HSY$CH_PCHAR Writes a specified character to the current position ofa buffer.
HSY$CH_PNEXT Writes a specified character to the current position ofa buffer.
HSY$CH_WCHAR Writes a specified character to the current position ofa buffer.
HSY$CH_WNEXT Writes a specified character to the current position ofa buffer.
HSY$DX_WCHAR Writes a specified character.
HSY$DX_WNEXT Writes a specified character.
Table 1–4 Pointer Routines
Routine Name Function
HSY$SKPC Skips a specified character.
HSY$CH_CURR Points to the first byte of the current character.
HSY$CH_NEXT Points to the first byte of the next character.
(continued on next page)
1–2 INTRODUCTION
INTRODUCTION1.1 Organization of the HSYSHR
Table 1–4 (Cont.) Pointer Routines
Routine Name Function
HSY$CH_PREV Points to the first byte of the previous character.
HSY$POS_CURR Points to the first byte of the current character.
HSY$POS_NEXT Points to the first byte of the next character.
HSY$POS_PREV Points to the first byte of the previous character.
HSY$DX_SKPC Skips a specified character.
HSY$DX_POS_CURR Points to the first byte of the current character.
HSY$DX_POS_NEXT Points to the first byte of the next character.
HSY$DX_POS_PREV Points to the first byte of the previous character.
Table 1–5 Comparison Routines
Routine Name Function
HSY$COMPARE Compares two specified strings.
HSY$STR_EQUAL Checks if two specified character strings are equal.
HSY$DX_STR_EQUAL Checks if two specified character strings are equal.
Table 1–6 Searching Routines
Routine Name Function
HSY$LOCC Locates the position of the first occurrence of thespecified character.
HSY$POSITION Searches the first occurrence of a specified substring inthe input string.
HSY$STR_SEARCH Searches the first occurrence of a specified substringin the input string with conversion performed prior tocomparing the characters.
HSY$STR_START Checks if the specified substring is found in anotherinput string and starts from the first byte of the inputstring.
HSY$DX_LOCC Locates the position of the first occurrence of thespecified character.
HSY$DX_POSITION Searches the first occurrence of a substring in aspecified string.
HSY$DX_STR_SEARCH Searches the first occurrence of a specified substring inthe input string.
HSY$DX_STR_START Checks if the specified substring is found in anotherinput string and starts from the first byte of the inputstring.
INTRODUCTION 1–3
INTRODUCTION1.1 Organization of the HSYSHR
Table 1–7 Counting Routines
Routine Name Function
HSY$CH_SIZE Tells the byte length of the specified character.
HSY$CH_NCHAR Returns the number of characters in a specified string.
HSY$CH_NBYTE Counts the number of bytes of a character string.
HSY$DX_NOF_CHAR Returns the number of characters in a specifiednumber of bytes.
HSY$DX_NOF_BYTE Counts the number of bytes of a character string.
Table 1–8 Character Type Routines
Routine Name Function
HSY$IS_VALID Checks if the input character is a valid multi-bytecharacter.
HSY$IS_IDEOGRAPH Checks if the input multi-byte character is anideographic multi-byte character.
HSY$IS_DESCRIPTION Checks if the input character is a multi-byte locallanguage punctuation.
HSY$IS_TECHNICAL Checks if the input character is a scientific ormathematical multi-byte symbol character.
HSY$IS_UNIT Checks if the input character is a multi-byte standardunit symbol character.
HSY$IS_GENERAL Checks if the input character is a multi-byte generalsymbol character.
HSY$IS_LINE_DRAWING Checks if the input character is a multi-byte linedrawing symbol character.
HSY$IS_DIGIT Checks if the input character is a one-byte or multi-byte numeric digit.
HSY$IS_ROMAN Checks if the input character is a one-byte or multi-byte English letter.
HSY$IS_GREEK Checks if the input character is a multi-byte Greekletter.
HSY$IS_RUSSIAN Checks if the input character is a multi-byte Russianletter.
HSY$IS_ALPHA Checks if the input character is a Greek, Russian orRoman letter.
HSY$IS_UPPER Checks if the input character is an upper case Greek,Russian or Roman letter.
HSY$IS_LOWER Checks if the input character is a lower case Greek,Russian or Roman letter.
HSY$IS_HIRAGANA Checks if the input character is a multi-byte JapaneseHiragana character.
HSY$IS_KATAKANA Checks if the input character is a multi-byte JapaneseKatakana character.
(continued on next page)
1–4 INTRODUCTION
INTRODUCTION1.1 Organization of the HSYSHR
Table 1–8 (Cont.) Character Type Routines
Routine Name Function
HSY$IS_KANA Checks if the input character is a multi-byte JapaneseKana character.
HSY$IS_PARENTHESIS Checks if the input character is a multi-byteparenthesis symbol character.
HSY$IS_LEFT_PARENTHESIS Checks if the input character is a multi-byte leftparenthesis symbol character.
HSY$IS_RIGHT_PARENTHESIS
Checks if the input character is a multi-byte rightparenthesis symbol character.
HSY$IS_NO_FIRST Checks if the input character is a multi-byte "NOFIRST" character.
HSY$IS_NO_LAST Checks if the input character is a multi-byte "NO-LAST" character.
Table 1–9 Date Time Routines
Routine Name Function
HSY$DX_DATE_TIME Returns the date and time in local language format.
HSY$DX_TIME Returns the date and time of the system time in locallanguage format.
Table 1–10 Conversion Routines
Routine Name Function
HSY$CHG_KEISEN Converts ’0’ to ’9’ and ’-’ to multi-byte line drawingcharacters.
HSY$CHG_GENERAL Performs general multi-byte conversion.
HSY$CHG_KANA_HIRA Converts Katakana characters to Hiragana characters.
HSY$CHG_KANA_KATA Converts Hiragana characters to Katakana characters.
HSY$CHG_KANA_KANA Toggles Kana characters to Hiragana or Katakanacharacters.
HSY$CHG_ROM_FULL Converts half form ASCII to full form ASCII.
HSY$CHG_ROM_HALF Converts full form ASCII to half form ASCIIequivalence.
HSY$CHG_ROM_SIZE Toggles the form (full form or half form) of the inputcharacter.
HSY$CHG_ROM_UPPER Converts one-byte and multi-byte letters to upper case.
HSY$CHG_ROM_LOWER Converts one byte and multi-byte letters to lower case.
HSY$CHG_ROM_CASE Toggles the casing of one-byte and multi-byte letters ofthe input character.
(continued on next page)
INTRODUCTION 1–5
INTRODUCTION1.1 Organization of the HSYSHR
Table 1–10 (Cont.) Conversion Routines
Routine Name Function
HSY$TRA_KANA_HIRA Converts Katakana character strings to Hiraganacharacter strings.
HSY$TRA_KANA_KATA Converts Hiragana character strings to Katakanacharacter strings.
HSY$TRA_KANA_KANA Toggles Kana character strings to Hiragana orKatakana characters.
HSY$TRA_ROM_FULL Converts half form ASCII to full form ASCII.
HSY$TRA_ROM_HALF Converts full form ASCII to half form ASCIIequivalence.
HSY$TRA_ROM_SIZE Toggles the form (full form or half form) of the inputstring.
HSY$TRA_ROM_UPPER Converts one-byte and multi-byte letters to upper case.
HSY$TRA_ROM_LOWER Converts one-byte and multi-byte letters to lower case.
HSY$TRA_ROM_CASE Toggles the casing of one-byte and multi-byte lettersfound in the string.
HSY$TRA_SYMBOL Converts the sequence of a one-byte character to astring of multi-byte symbols.
HSY$DX_TRA_KANA_HIRA Converts Katakana character strings to Hiraganacharacter strings.
HSY$DX_TRA_KANA_KATA Converts Hiragana character strings to Katakanacharacter strings.
HSY$DX_TRA_KANA_KANA Toggles Kana character strings to Hiragana orKatakana character strings.
HSY$DX_TRA_ROM_FULL Converts half form ASCII to full form ASCII.
HSY$DX_TRA_ROM_HALF Converts full form ASCII to half form ASCIIequivalence.
HSY$DX_TRA_ROM_SIZE Toggles the form (full form or half form) of the inputstring.
HSY$DX_TRA_ROM_UPPER Converts one-byte and multi-byte letters to upper case.
HSY$DX_TRA_ROM_LOWER Converts one-byte and multi-byte letters to lower case.
HSY$DX_TRA_ROM_CASE Toggles the casing of one-byte and multi-byte lettersfound in the input string.
HSY$DX_TRA_SYMBOL Converts the sequence of a one-byte character to astring of multi-byte symbols.
1.2 Features of HSYSHRHSYSHR provides the following features and capabilities:
• HSYSHR performs a wide range of general multi-byte processing operations.You can call the HSY$ routines instead of writing your own code to performthe operation.
• Routines in HSYSHR follow the OpenVMS Procedure Calling Standard.It allows you to call any HSY$ routines from any programming languagesupport in OpenVMS/Hangul, thus increasing program flexibility.
1–6 INTRODUCTION
INTRODUCTION1.2 Features of HSYSHR
• Because all routines are shared, they take up less virtual address space of aprocess.
• When new versions of the HSYSHR are installed, you do not need to reviseyour calling program, and generally do not need to relink.
1.3 Linking with HSYSHRRoutines in HSYSHR execute entirely in the mode of the caller and are intendedto be called in the user mode. To link your application that contains explicit callsto HSYSHR, use the following link command:
$ LINK program, SYS$LIBRARY:HSYIMGLIB.OLB/LIBRARY
INTRODUCTION 1–7
2MULTI-BYTE CHARACTER CONCEPTS
This chapter describes some important concepts of multi-byte character that areused throughout the documentation.
2.1 What is Multi-byte Character?DEC Hangul character set is implemented as a multi-byte character setcontaining Korean characters, punctuation marks and various kinds of symbols.Each multi-byte character refers to a two-byte character with the most significantbit of the first byte always set. In OpenVMS/Hangul operating system, the DECHangul character set is adopted, and all Korean characters are represented asmulti-byte characters from the character set. For detailed discussion of the DECHangul character set, please refer to OpenVMS/Hangul User Guide.
2.2 Proper Character BoundaryIn HSYSHR, most of the routines use characters as a processing entity contraryto conventional byte by byte processing. Some routines require the inputcharacter pointer pointing at the proper character boundary in the user buffer."Pointing at the proper character boundary" means the character pointer shouldnot point to the non-first-byte position of a multi-byte character.
2.3 Full Form and Half Form CharacterIn the DEC Hangul character set, there is a set of two-byte ASCII characters.To distinguish them from the conventional one-byte 7-bit ASCII characters, theterms "full form" and "half form" characters are used. Full form characters referto two-byte ASCII characters whereas half form characters refer to one-byte 7-bitASCII characters. Conversion services between full form and half form charactersare provided by the conversion routines in HSYSHR. In some applications wherecharacter matching requires treating the full form and half form charactersequivalent, the user can call the searching routines in HSYSHR and specify theconversion flag argument. Note that uppercasing and lowercasing can both beapplied to these full form characters.
MULTI-BYTE CHARACTER CONCEPTS 2–1
MULTI-BYTE CHARACTER CONCEPTS2.4 Multi-byte Character Unsigned Longword Representation
2.4 Multi-byte Character Unsigned Longword RepresentationIn HSYSHR, multi-byte character representation in single character argumentis different from that found in the character string argument. Single characterargument uses unsigned longword integer representation whereas characters inthe string argument use the normal character string representation. An exampleis as follows. The two-byte character B0A1(hex) is represented differently in thefollowing two cases.
Single character argument: (VMS Usage - longword_unsigned)
+--+--+--+--+|00|00|B0|A1|+--+--+--+--+H L
In a string argument: (VMS Usage - char_string)
--+--+--+- +--+.... |A1|B0|....| | start of string
--+--+--+- +--+H L
The read routines in HSYSHR read the buffer with character string format andreturn the character read in unsigned longword format. The write routines writethe character in unsigned longword format to the buffer. The character writtenwill be in character string format.
2–2 MULTI-BYTE CHARACTER CONCEPTS
HSY$ Reference Section
This section provides detailed discussions of the routines provided in the KoreanProcessing Run Time Library HSYSHR.
HSY$CH_MOVE
HSY$CH_MOVE
HSY$CH_MOVE moves a substring from a specified source buffer to a specifieddestination buffer.
Format
HSY$CH_MOVE len,src,dst
Arguments
lenVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of the substring to be moved.
srcVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the source buffer.
dstVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the destination buffer.
Description
This routine is multi-byte insensitive. If len is not specifying the proper multi-byte character boundary, e.g. it indicates the second byte of a two-byte character,then only half of the multi-byte character is moved to the last character of thedestination string.
HSY/STRI–3
HSY$DX_TRIM
HSY$DX_TRIM
HSY$DX_TRIM trims trailing one-byte and multi-byte spaces and TABcharacters.
Format
HSY$DX_TRIM dst,src,[len]
Returns
VMS Usage: cond_valuetype: longword (unsigned)access: write onlymechanism: by value
Arguments
dstVMS Usage: char_stringtype: character stringaccess: write onlymechanism: by descriptor
The destination string to store the trimmed string.
srcVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
The source string that is to be converted.
lenVMS Usage: word_signedtype: word integer (signed)access: write onlymechanism: by reference
The length in bytes of the trimmed string. If this optional argument is notsupplied, no length information of the trimmed string will be returned to thecaller.
Description
dst and src can contain one-byte and multi-byte characters.
CONDITION VALUES RETURNED
LIB$_INVSTRDES Invalid string descriptor. A string descriptor hasan invalid value in its DSC$B_CLASS field.
LIB$_STRTRU Procedure successfully completed. Stringtruncated.
HSY/STRI–4
HSY$DX_TRIM
LIB$_FATERRLIB Fatal internal error. An internal consistencycheck has failed.
LIB$_INSVIRMEM Insufficient virtual memory.SS$_NORMAL Procedure successfully completed.
HSY/STRI–5
HSY$DX_TRUNC
HSY$DX_TRUNC
HSY$DX_TRUNC truncates the input string to the specified length.
Format
HSY$DX_TRUNC dst,src,offset,[len]
Returns
VMS Usage: cond_valuetype: longword (unsigned)access: write onlymechanism: by value
Arguments
dstVMS Usage: char_stringtype: character stringaccess: write onlymechanism: by descriptor
The specified destination string to store the truncated string.
srcVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
The specified source string to be truncated.
offsetVMS Usage: word_signedtype: word integer (signed)access: read onlymechanism: by reference
The offset in bytes from the starting position of the source string which indicatesthe position of the first character just after the truncated string. Note that thisoffset may not be on the proper character boundary, e.g. it may point to thesecond byte of a two-byte character.
lenVMS Usage: word_signedtype: word integer (signed)access: write onlymechanism: by reference
The length in bytes of the truncated string. If this optional argument is notsupplied, no length information of the truncated string will be returned to thecaller.
HSY/STRI–6
HSY$DX_TRUNC
Description
The value returned in len may not necessarily be equal to the value specified inoffset since offset may not be pointing at the first byte of a multi-byte character.In any case, the character indicated by offset will be treated as the first characterthat follows the truncated string.
CONDITION VALUES RETURNED
LIB$_INVSTRDES Invalid string descriptor. A string descriptor hasan invalid value in its DSC$B_CLASS field.
LIB$_STRTRU Procedure successfully completed. Truncatedstring is further truncated due to insufficientspace allocated in the destination string buffer.
LIB$_FATERRLIB Fatal internal error. An internal consistencycheck has failed.
LIB$_INSVIRMEM Insufficient virtual memory.SS$_NORMAL Procedure successfully completed.
HSY/STRI–7
HSY$TRIM
HSY$TRIM
HSY$TRIM trims trailing one-byte and multi-byte spaces and TAB characters.
Format
HSY$TRIM str,len
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The offset in bytes from the starting position of the input string whichindicates the position of the terminating character of the trimmed string. Ifthe terminating character is a multi-byte character, the returned offset will bepointing to the first byte of the multi-byte character.
Arguments
strVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the input string to be trimmed.
lenVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of the input string.
Description
str can contain one-byte and multi-byte characters.
HSY/STRI–8
HSY$TRUNC
HSY$TRUNC
HSY$TRUNC returns the position of the first character that follows the truncatedstring.
Format
HSY$TRUNC str,len,offset
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The offset in bytes which indicates the position of the first character just followsthe truncated string. If this character is a multi-byte character, the offset will bepointing at the first byte of the multi-byte character.
Arguments
strVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the input string.
lenVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of the input string.
offsetVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The offset in bytes of the character just follows the truncated string. It may notbe on the proper character boundary, e.g. it can point to the second byte of atwo-byte character.
Description
str can contain one-byte and multi-byte characters. This routine helps you toposition offset to the proper character boundary. Its function is similar to routineHSY$CH_CURR but with different parameter interface.
HSY/STRI–9
HSY$CH_GCHAR
HSY$CH_GCHAR
HSY$CH_GCHAR reads the current character.
Format
HSY$CH_GCHAR cur,end
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
The current character.
Arguments
curVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the current position of the specified current character. Note thatthis address must be on the proper character boundary, e.g. it should not point tothe second byte of a two-byte character.
endVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the string terminating position plus one as illustrated below:
+---+---+---+---+.. | | | | |
+---+---+---+---+string ^
end
Description
This routine reads a character with end of buffer checking. FFFF (hex) will bereturned when read past the end of buffer. If the current character is a one-byte7-bit control character or one-byte 8-bit character (e.g. an 8-bit character followedby a 7-bit control character), the one-byte 7-bit or 8-bit character will be returned.No updating of current pointer is done since cur is passed by value.
HSY/READ–10
HSY$CH_GNEXT
HSY$CH_GNEXT
HSY$CH_GNEXT reads the current character.
Format
HSY$CH_GNEXT cur,end
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
The current character.
Arguments
curVMS Usage: longword_unsignedtype: longword integer (unsigned)access: modifymechanism: by reference
The address of the current position of the specified current character. Note thatthis address must be on the proper character boundary, e.g. it should not point tothe second byte of a two-byte character.
endVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the string terminating position plus one as illustrated below:
+---+---+---+---+.. | | | | |
+---+---+---+---+string ^
end
Description
This routine reads a character with end of buffer checking. FFFF (hex) will bereturned when read past the end of buffer. If the current character is a one-byte 7-bit control character or one-byte 8-bit character (e.g. an 8-bit characterfollowed by a 7-bit control character), the one-byte 7-bit or 8-bit character willbe returned. Updating of the current pointer is done. After the read action, curwill be updated to the next character position pointing at the proper characterboundary. This routine is useful for successive character reading.
HSY/READ–11
HSY$CH_NEXTG
HSY$CH_NEXTG
HSY$CH_NEXTG reads the next character, skipping the current character.
Format
HSY$CH_NEXTG cur,end
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
The next character.
Arguments
curVMS Usage: longword_unsignedtype: longword integer (unsigned)access: modifymechanism: by reference
The address of the current position of the specified current character. Note thatthis address must be on the proper character boundary, e.g. it should not point tothe second byte of a two-byte character.
endVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the string terminating position plus one as illustrated below:
+---+---+---+---+.. | | | | |
+---+---+---+---+string ^
end
Description
This routine reads the next character, skipping the current character. FFFF(hex) will be returned when read past the end of buffer. If the next character is aone-byte 7-bit control character or one-byte 8-bit character (e.g. an 8-bit characterfollowed by a 7-bit control character), the one-byte 7-bit or 8-bit character willbe returned. Updating of the current pointer is done. After the read action, curwill be updated to the next character position pointing at the proper characterboundary.
HSY/READ–12
HSY$CH_PCHAR
HSY$CH_PCHAR
HSY$CH_PCHAR writes a specified character to the current position of a buffer.
Format
HSY$CH_PCHAR chr,cur,end
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
Either 1 or 0 is returned as status.
1 - Input character is successfully written to the specified position of thestring.
0 - Input character is not written to the specified position of the string.
Arguments
chrVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The character to be written to the specified current position of the string.
curVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the current position of the string where the input character is tobe written to.
endVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the string terminating position plus one as illustrated below:
+---+---+---+---+.. | | | | |
+---+---+---+---+string ^
end
HSY/READ–13
HSY$CH_PCHAR
Description
This routine writes a character to a specified position. End of buffer checking isperformed to make sure there is enough space in the buffer for the character tobe written since chr can be a multi-byte character.
HSY/READ–14
HSY$CH_PNEXT
HSY$CH_PNEXT
HSY$CH_PNEXT writes a specified character to the current position of a buffer.
Format
HSY$CH_PNEXT chr,cur,end
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
Either 1 or 0 is returned as status.
1 - Input character is successfully written to the specified position of thestring.
0 - Input character is not written to the specified position of the string.
Arguments
chrVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The character to be written to the specified current position of the string. Notethat the input character can either be one- or two-byte character.
curVMS Usage: longword_unsignedtype: longword integer (unsigned)access: modifymechanism: by reference
The address of the current position of the string where the input character is tobe written to.
endVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the string terminating position plus one as illustrated below:
+---+---+---+---+.. | | | | |
+---+---+---+---+string ^
end
HSY/READ–15
HSY$CH_PNEXT
Description
This routine writes a character to a specified position. End of buffer checking isperformed to make sure there is enough space in the buffer for the character tobe written since chr can be a multi-byte character. Note that cur is updated. Itpoints to the next character position after the write action. This routine is usefulfor successive writing of character to a buffer.
HSY/READ–16
HSY$CH_RCHAR
HSY$CH_RCHAR
HSY$CH_RCHAR reads the current character.
Format
HSY$CH_RCHAR cur
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
The current character.
Arguments
curVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the current position of the specified current character. Note thatthis address must be on the proper character boundary, e.g. it should not point tothe second byte of a two-byte character.
Description
This routine reads the current character. If the current character is a one-byte7-bit control character or one-byte 8-bit character (e.g. an 8-bit character followedby a 7-bit control character), the one-byte 7-bit or 8-bit character will be returned.
HSY/READ–17
HSY$CH_RNEXT
HSY$CH_RNEXT
HSY$CH_RNEXT reads the current character.
Format
HSY$CH_RNEXT cur
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
The current character.
Arguments
curVMS Usage: longword_unsignedtype: longword integer (unsigned)access: modifymechanism: by reference
The address of the current position of the specified current character. Note thatthis address must be on the proper character boundary, e.g. it should not point tothe second byte of a two-byte character.
Description
This routine reads the current character. If the current character is a one-byte7-bit control character or one-byte 8-bit character (e.g. an 8-bit character followedby a 7-bit control character), the one-byte 7-bit or 8-bit character will be returned.Note that the read pointer is updated to the next character position after the readaction. This routine is useful in successive reading of characters.
HSY/READ–18
HSY$CH_RPREV
HSY$CH_RPREV
HSY$CH_RPREV reads the previous character.
Format
HSY$CH_RPREV str,cur
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
The previous character read.
Arguments
strVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the specified string. Note that this addressmust be on the proper character boundary, e.g. it should not point to the secondbyte of a two-byte character.
curVMS Usage: longword_unsignedtype: longword integer (unsigned)access: modifymechanism: by reference
The address of the current position of the specified current character. Note thatthis address must be on the proper character boundary, e.g. it should not point tothe second byte of a two-byte character.
Description
This routine reads the previous character. Note that the current character pointeris updated. It points to the previous character position after the read action.
HSY/READ–19
HSY$CH_WCHAR
HSY$CH_WCHAR
HSY$CH_WCHAR writes a specified character to the current position of a buffer.
Format
HSY$CH_WCHAR chr,cur
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The character to be written to the specified current position of the string.
curVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the current position of the string where the input character is tobe written to.
Description
This routine writes a specified character to the current position. It does notperform checking of writing past the end of buffer.
HSY/READ–20
HSY$CH_WNEXT
HSY$CH_WNEXT
HSY$CH_WNEXT writes a specified character to the current position of a buffer.
Format
HSY$CH_WNEXT chr,cur
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The character to be written to the specified current position of the string.
curVMS Usage: longword_unsignedtype: longword integer (unsigned)access: modifymechanism: by reference
The address of the current position of the string where the input character is tobe written to.
Description
This routine writes a specified character to the current position. It does notperform checking of writing past the end of buffer. Note that the write pointercur is updated to the next character position after the write action.
HSY/READ–21
HSY$DX_RCHAR
HSY$DX_RCHAR
HSY$DX_RCHAR reads the current character.
Format
HSY$DX_RCHAR str,[pos]
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
FFFF (hex) - Routine completed unsuccessfully.non FFFF (hex) - The current character.
Arguments
strVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
The input string to be read.
posVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by reference
Byte position from the starting position of the specified string which is usedto indicate the current position. Note that this position must be on the propercharacter boundary, e.g. it should not point to the second byte of a two-bytecharacter.
Description
This routine reads a character at the current character position as specified bypos. If pos is not specified, the first character of the string will be read. FFFF(hex) will be returned if pos is less than 1 or an invalid descriptor is specified bystr.
HSY/READ–22
HSY$DX_RNEXT
HSY$DX_RNEXT
HSY$DX_RNEXT reads the current character.
Format
HSY$DX_RNEXT str,[pos]
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
FFFF (hex) - Routine completed unsuccessfully.non FFFF (hex) - The current character.
Arguments
strVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
The input string to be read.
posVMS Usage: longword_signedtype: longword integer (signed)access: modifymechanism: by reference
Byte position from the starting position of the specified string which is usedto indicate the current position. Note that this position must be on the propercharacter boundary, e.g. it should not point to the second byte of a two-bytecharacter.
Description
This routine reads a character at the current character position as specified bypos. If pos is not specified, the first character of the string will be read. FFFF(hex) will be returned if pos is less than 1 or an invalid descriptor is specified bystr. Note that pos is updated to the next character position after the read action.This routine is useful for successive reading of characters.
HSY/READ–23
HSY$DX_WCHAR
HSY$DX_WCHAR
HSY$DX_WCHAR writes a specified character.
Format
HSY$DX_WCHAR chr,str,[pos]
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The return status.
0 - Unsuccessful write caused by either invalid descriptorspecified or pos less than 1.
SS$_NORMAL - Successful write.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by reference
The character to be written.
strVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
The specified string.
posVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by reference
Byte position from the starting position of the specified string which indicates theposition to where the input character is written.
Description
This routine writes a specified character to the current character position in thebuffer. If pos is not specified, the character will be written to the start of theinput string.
HSY/READ–24
HSY$DX_WNEXT
HSY$DX_WNEXT
HSY$DX_WNEXT writes a specified character.
Format
HSY$DX_WNEXT chr,str,[pos]
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The return status.
0 - Unsuccessful write caused by either invalid descriptorspecified or pos less than 1.
SS$_NORMAL - Successful write.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by reference
The character to be written.
strVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
The specified string.
posVMS Usage: longword_signedtype: longword integer (signed)access: modifymechanism: by reference
Byte position from the starting position of the specified string which indicates theposition to where the input character is written.
Description
This routine writes a specified character to the current character position in thebuffer. If pos is not specified, the character will be written to the start of theinput string. Note that pos is updated after the write action. It points to thenext character position after writing. This routine is useful for successful writingof character.
HSY/READ–25
HSY$CH_CURR
HSY$CH_CURR
HSY$CH_CURR points to the first byte of the current character.
Format
HSY$CH_CURR str,cur
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
The address of the first byte of the current character.
Arguments
strVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the input string. Note that this addressmust be on the proper character boundary, e.g. it should not point to the secondbyte of a two-byte character.
curVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the current position of the specified current character. Notethat cur may not point to the first byte of a multi-byte character if the currentcharacter is a multi-byte character.
Description
This routine provides the function of locating a character pointer on the propercharacter boundary if the current character is a multi-byte character. It checks ifcur is specifying a position before str. It also checks if the current character is a7-bit or 8-bit control character. In both cases, cur will be returned to the caller.
str can contain one-byte and multi-byte characters.
HSY/POIN–26
HSY$CH_NEXT
HSY$CH_NEXT
HSY$CH_NEXT points to the first byte of the next character.
Format
HSY$CH_NEXT cur
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
The address of the first byte of the next character.
Arguments
curVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the first byte of the current character. Note that this characterpointer must be on the proper character boundary, e.g. it should not point to thesecond byte of a two-byte character.
Description
This routine does not check if the next character position contains garbage or if itis passing beyond the buffer end since no buffer end position is specified.
HSY/POIN–27
HSY$CH_PREV
HSY$CH_PREV
HSY$CH_PREV points to the first byte of the previous character.
Format
HSY$CH_PREV str,cur
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
The address of the first byte of the previous character.
Arguments
strVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the input string. Note that this addressmust be on the proper character boundary, e.g. it should not point to the secondbyte of a two-byte character.
curVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the current position of the current character. Note that thischaracter pointer must be on the proper character boundary, e.g. it should notpoint to the second byte of a two-byte character.
Description
This routine checks if the previous character position appears before the startingposition of the input string. It also checks if the previous character is a 7-bit or8-bit control character. In both cases, cur will be returned to the caller.
str can contain one-byte and multi-byte characters.
HSY/POIN–28
HSY$DX_POS_CURR
HSY$DX_POS_CURR
HSY$DX_POS_CURR points to the first byte of the current character.
Format
HSY$DX_POS_CURR str,pos
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The return byte position.
0 - Procedure completed unsuccessfully.Non-zero - Byte position from the starting position of the input string that
points to the first byte of the current character.
Arguments
strVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
Input string.
posVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by reference
Byte position from the starting position of the input string which indicates theposition of the current character. Note that this position may not be on the propercharacter boundary, e.g. it may point to the second byte of a two-byte character.
Description
HSY$DX_POS_CURR lets you position the character pointer at the first byte ofa multi-byte character. E.g. if pos is pointing to the second byte of a two-bytecharacter, HSY$DX_POS_CURR will return the byte position of the first byte ofthe two-byte character.
str can contain one-byte and multi-byte characters.
HSY/POIN–29
HSY$DX_POS_NEXT
HSY$DX_POS_NEXT
HSY$DX_POS_NEXT points to the first byte of the next character.
Format
HSY$DX_POS_NEXT str,pos
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The return byte position.
0 - Procedure completed unsuccessfully.Non-zero - Byte position from the starting position of the input string that
points to the first byte of the next character.
Arguments
strVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
Input string.
posVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by reference
Byte position from the starting position of the input string which indicates theposition of the current character. Note that this position need not be on theproper character boundary, e.g. it may point to the second byte of a two-bytecharacter.
Description
This routine allows pos to point at a non-character boundary position. If pos ispointing to the second byte of a two-byte character, the two-byte character will betreated as the current character and the next character will be returned to thecaller. This routine does not check if pos is beyond the end of the string.
str can contain one-byte and multi-byte characters.
HSY/POIN–30
HSY$DX_POS_PREV
HSY$DX_POS_PREV
HSY$DX_POS_PREV points to the first byte of the previous character.
Format
HSY$DX_POS_PREV str,pos
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The return byte position.
0 - Procedure completed unsuccessfully.Non-zero - Byte position from the starting position of the specified input
string that points to the first byte of the previous character.
Arguments
strVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
Input string.
posVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by reference
Byte position from the starting position of the specified input string whichindicates the position of the current character. Note that this position need notbe on the proper character boundary, e.g. it may point to the second byte of atwo-byte character.
Description
This routine allows pos to point at a non-character boundary position. If pos ispointing to the second byte of a two-byte character, the two-byte character will betreated as the current character and the previous character will be returned tothe caller. This routine does not check if pos is beyond the end of the string.
str can contain one-byte and multi-byte characters.
HSY/POIN–31
HSY$DX_SKPC
HSY$DX_SKPC
HSY$DX_SKPC skips a specified character.
Format
HSY$DX_SKPC chr,str
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The return byte position.
0 - Either all characters in the input string are equal to thespecified character or procedure is completed unsuccessfullydue to corrupted input descriptor.
Non-zero - Byte position from the starting position of the input string thatpoints to the first character that does not match chr.
Arguments
chrVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
The specified input character to be skipped.
strVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
Input string.
Description
This routine skips the specified character chr at the start of the input stringstr. The position of the first character that does not match with the specifiedcharacter chr will be returned to the caller.
str and chr can contain one-byte and multi-byte characters. If chr contains morethan one characters, only the first character specified by the descriptor will beused.
HSY/POIN–32
HSY$POS_CURR
HSY$POS_CURR
HSY$POS_CURR points to the first byte of the current character.
Format
HSY$POS_CURR str,cur,end
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
The address of the first byte of the current character.
Arguments
strVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the input string. Note that this addressmust be on the proper character boundary, e.g. it should not point to the secondbyte of a two-byte character.
curVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the current position of the specified current character. Note thatthis character pointer may not be on the proper character boundary, e.g. it maypoint to the second byte of a two-byte character.
endVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the string terminating position plus one as illustrated below:
+---+---+ +---+---+---+| | | ...... | | | |+---+---+ +---+---+---+^ ^
str end
HSY/POIN–33
HSY$POS_CURR
Description
This routine provides the function of locating a character pointer on the propercharacter boundary of a multi-byte character.
str can contain one-byte and multi-byte characters.
HSY/POIN–34
HSY$POS_NEXT
HSY$POS_NEXT
HSY$POS_NEXT points to the first byte of the next character.
Format
HSY$POS_NEXT cur,end
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
The address of the first byte of the next character.
Arguments
curVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the current position of the specified current character. Note thatthis address must be on the proper character boundary, e.g. it should not point tothe second byte of a two-byte character.
endVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the string terminating position plus one as illustrated below:
+---+---+---+---+.. | | | | |
+---+---+---+---+string ^
end
Description
This routine provides more checking than HSY$CH_NEXT. If cur is greaterthan or equal to end, cur will be returned to the caller. If cur is pointing ata single-byte 7-bit or 8-bit control character, cur+1 will be returned. If cur ispointing at a 8-bit character which is at the end of the input string, end will bereturned. In general, if cur is pointing at an invalid character (e.g. a single 8-bitfollowed by a control character), it will skip the invalid character and return thenext character positon.
str can contain one-byte and multi-byte characters.
HSY/POIN–35
HSY$POS_PREV
HSY$POS_PREV
HSY$POS_PREV points to the first byte of the previous character.
Format
HSY$POS_PREV str,cur,end
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
The address of the previous character of the specified current character.
Arguments
strVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the input string. Note that this addressmust be on the proper byte boundary, e.g. it should not point to the second byteof a two-byte character.
curVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the current position of the string. Note that this character pointermust be on the proper character boundary, e.g. it should not point to the secondbyte of a two-byte character.
endVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the string terminating position plus one as illustrated below:
+---+---+ +---+---+---+| | | ...... | | | |+---+---+ +---+---+---+^ ^
str end
HSY/POIN–36
HSY$POS_PREV
Description
This routine provides more checking than HSY$CH_PREV. If cur is outside therange of the string as specified by str and end, no previous character positionwill be returned. Instead, cur will be returned to the caller.
str can contain one-byte and multi-byte characters.
HSY/POIN–37
HSY$SKPC
HSY$SKPC
HSY$SKPC skips a specified character.
Format
HSY$SKPC chr,str,len
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
The return address.
0 - All characters in the input string are equal to the specifiedcharacter.
Non-zero - The address of the position of the first character that does notmatch chr.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The specified character to be skipped.
strVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the input string. Note that this addressmust be on the proper character boundary, e.g. it should not point to the secondbyte of a two-byte character.
lenVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of the input string.
Description
This routine skips the specified character chr at the start of the input stringstr. The address of the first character that does not match with the specifiedcharacter chr will be returned to the caller.
str can contain one-byte and multi-byte characters.
HSY/POIN–38
HSY$COMPARE
HSY$COMPARE
HSY$COMPARE compares two specified strings.
Format
HSY$COMPARE str1,len1,str2,len2
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The return status.
-1 - str1 is less than str2.0 - str1 is equal to str2.1 - str1 is greater than str2.
Arguments
str1VMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the first string for comparison.
len1VMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of str1.
str2VMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of second string for comparison.
len2VMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of str2.
HSY/COMP–39
HSY$COMPARE
Description
str1 and str2 can contain one-byte and multi-byte characters.
If the two input strings have different length, the shorter one is padded withspace for comparison.
HSY/COMP–40
HSY$DX_STR_EQUAL
HSY$DX_STR_EQUAL
HSY$DX_STR_EQUAL checks if two specified character strings are equal.
Format
HSY$DX_STR_EQUAL str1,str2,[conv-flag]
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The return status.
0 - The two strings are unequal.1 - The two strings are equal.
Arguments
str1VMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
First input string to be compared.
str2VMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
Second input string to be compared.
conv-flagVMS Usage: byte_signedtype: byte integer (signed)access: read onlymechanism: by reference
Conversion flag indicating what conversion is done before comparing characters.Only bit 0 to bit 2 of this flag is used.
Bit 0 = 0: Performs uppercasing conversion. Uppercasing can be done to bothfull form and half form letters.
Bit 1 = 0: Performs full form to half form conversion.Bit 2 = 0: Performs Kana to Hiragana conversion. This is only valid for
Japanese Kana characters.
No conversion will be done prior to comparing the characters if this optionalparameter is not specified.
HSY/COMP–41
HSY$DX_STR_EQUAL
Description
str1 and str2 can contain one-byte and multi-byte characters.
If the number of characters in the two input strings are not equal, the shorterstring is padded with space for comparison.
HSY/COMP–42
HSY$STR_EQUAL
HSY$STR_EQUAL
HSY$STR_EQUAL checks if two specified character strings are equal.
Format
HSY$STR_EQUAL str1,len1,str2,len2,[conv-flag]
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The return status.
0 - The two strings are unequal.1 - The two strings are equal.
Arguments
str1VMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the first input string to be compared.
len1VMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of str1.
str2VMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the second input string to be compared.
len2VMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of str2.
HSY/COMP–43
HSY$STR_EQUAL
conv-flagVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
Conversion flag indicating what conversion is done before comparing characters.Only bit 0 to bit 2 of this flag is used.
Bit 0 = 0: Performs uppercasing conversion. Uppercasing can be done to bothfull form and half form letters.
Bit 1 = 0: Performs full form to half form conversion.Bit 2 = 0: Performs Kana to Hiragana conversion. This is only valid for
Japanese Kana characters.
No conversion will be done prior to comparing the characters if this optionalparameter is not specified.
Description
str1 and str2 can contain one-byte and multi-byte characters.
If the number of characters in the two input strings are not equal, the shorterstring is padded with space for comparison.
HSY/COMP–44
HSY$DX_LOCC
HSY$DX_LOCC
HSY$DX_LOCC locates the position of the first occurrence of the specifiedcharacter.
Format
HSY$DX_LOCC chr,str
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The return byte position.
0 - Cannot locate the specified character in the specified string. Itmay be due to invalid descriptor specified or no such characterfound in the specified string.
Non-zero - Byte position from the starting position of the specified stringwhich indicates the position of the first occurrence of thespecified character.
Arguments
chrVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
The character to be located in the specified string.
strVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
The specified string.
Description
chr can either be one-byte or multi-byte character. If a character string isspecified by chr, only the first character in the string will be used.
str can contain one-byte and multi-byte characters.
HSY/SEAR–45
HSY$DX_POSITION
HSY$DX_POSITION
HSY$DX_POSITION searches the first occurrence of a substring in a specifiedstring.
Format
HSY$DX_POSITION str,sub-str,[pos]
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The return byte position.
0 - Procedure completed unsuccessfully.Non-zero - Byte position from the starting position of the input string
which indicates the position containing the first byte of the firstcharacter of the substring found.
Arguments
strVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
Input string.
sub-strVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
The substring to be located in the input string.
posVMS Usage: word_signedtype: word integer (signed)access: read onlymechanism: by reference
Byte position from the starting position of the input string which indicates thestarting position for searching the substring. If this optional argument is notsupplied, the searching will start from the beginning of the input string.
Description
str and sub-str can contain one-byte and multi-byte characters.
HSY/SEAR–46
HSY$DX_STR_SEARCH
HSY$DX_STR_SEARCH
HSY$DX_STR_SEARCH searches the first occurrence of a specified substring inthe input string.
Format
HSY$DX_STR_SEARCH str,sub-str,[pos],[conv-flag]
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The return byte position.
0 - Procedure completed unsuccessfully.Non-zero - Byte position from the starting position of the input string which
indicates the first byte of the first character of the substringfound.
Arguments
strVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
Input string.
sub-strVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
The specified substring to be searched.
posVMS Usage: word_signedtype: word integer (signed)access: read onlymechanism: by reference
Byte position from the starting position of the input string which indicates thestarting position for searching the substring. If this optional argument is notsupplied, the searching will start from the beginning of the input string.
conv-flagVMS Usage: byte_signedtype: byte integer (signed)access: read onlymechanism: by reference
HSY/SEAR–47
HSY$DX_STR_SEARCH
Conversion flag indicating what conversion is done before comparing thecharacters. Only bit 0 to bit 2 of this flag are used.
Bit 0 = 0: Performs uppercasing conversion. Uppercasing can be done to bothfull form and half form letters.
Bit 1 = 0: Performs full form to half form conversion.Bit 2 = 0: Performs Kana to Hiragana conversion. This is only valid for
Japanese Kana characters.
No conversion will be done prior to comparing the characters if this optionalparameter is not specified.
Description
str and sub-str can contain one-byte and multi-byte characters.
HSY/SEAR–48
HSY$DX_STR_START
HSY$DX_STR_START
HSY$DX_STR_START checks if the specified substring is found in another inputstring and starts from the first byte of the input string.
Format
HSY$DX_STR_START str,sub-str,[conv-flag]
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The return status.
0 - The two strings are equal. Cannot find the substring starting from thestart of the input string.
1 - Finds the substring starting from the start of the input string.
Arguments
strVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
Input string.
sub-strVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
Substring to be located.
conv-flagVMS Usage: byte_signedtype: byte integer (signed)access: read onlymechanism: by reference
Conversion flag indicating what conversion is done before comparing thecharacters. Only bit 0 to bit 2 of this flag are used.
Bit 0 = 0: Performs uppercasing conversion. Uppercasing can be done to bothfull form and half form letters.
Bit 1 = 0: Performs full form to half form conversion.Bit 2 = 0: Performs Kana to Hiragana conversion. This is only valid for
Japanese Kana characters.
No conversion will be done prior to comparing the characters if this optionalparameter is not specified.
HSY/SEAR–49
HSY$DX_STR_START
Description
str and sub-str can contain one-byte and multi-byte characters.
HSY/SEAR–50
HSY$LOCC
HSY$LOCC
HSY$LOCC locates the position of the first occurrence of the specified character.
Format
HSY$LOCC chr,str,len
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
The returned character pointer.
0 - No such character found in the specified string.Non-zero - The address of the position of the first occurrence of the specified
character found in the input string.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The specified character to be located in the input string.
strVMS Usage: longword_unsignedtype: longword integer (unsigned)access: modifymechanism: by value
The address of the starting position of the input string.
lenVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of the input string.
Description
chr can either be one-byte or multi-byte character.
HSY/SEAR–51
HSY$POSITION
HSY$POSITION
HSY$POSITION searches the first occurrence of a specified substring in the inputstring.
Format
HSY$POSITION str,str-len,sub-str,sub-str-len
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The return address.
0 - The specified substring is not found in the input string.Non-zero - The address of the starting position of the substring located in
the input string.
Arguments
strVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the input string.
str-lenVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of str.
sub-strVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the specified substring to be located.
sub-str-lenVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of sub-str.
HSY/SEAR–52
HSY$POSITION
Description
str and sub-str can contain one-byte and multi-byte characters.
HSY/SEAR–53
HSY$STR_SEARCH
HSY$STR_SEARCH
HSY$STR_SEARCH searches the first occurrence of a specified substring in theinput string with conversion performed prior to comparing the characters.
Format
HSY$STR_SEARCH str,str-len,sub-str,sub-str-len,[conv-flag]
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
The return address.
0 - The specified substring is not found in the input string.Non-zero - The address of the starting position of the substring located in
the input string.
Arguments
strVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the input string.
str-lenVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of str.
sub-strVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the specified substring.
sub-str-lenVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of sub-str.
HSY/SEAR–54
HSY$STR_SEARCH
conv-flagVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
Conversion flag indicating what conversion is done before comparing thecharacters. Only bit 0 to bit 2 of this flag are used.
Bit 0 = 0: Performs uppercasing conversion. Uppercasing can be done to bothfull form and half form letters.
Bit 1 = 0: Performs full form to half form conversion.Bit 2 = 0: Performs Kana to Hiragana conversion. This is only valid for
Japanese Kana characters.
No conversion will be done prior to comparing the characters if this optionalparameter is not specified.
Description
str and sub-str can contain one-byte and multi-byte characters.
HSY/SEAR–55
HSY$STR_START
HSY$STR_START
HSY$STR_START checks if the specified substring is found in another inputstring and starts from the first byte of the input string.
Format
HSY$STR_START str,str-len,sub-str,sub-str-len,[conv-flag]
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The returned status.
0 - Cannot find the substring starting from the start of the input string.1 - Finds the substring starting from the start of the input string.
Arguments
strVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the input string.
str-lenVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of the str.
sub-strVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the substring.
sub-str-lenVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of sub-str.
HSY/SEAR–56
HSY$STR_START
conv-flagVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
Conversion flag indicating what conversion is done before comparing thecharacters. Only bit 0 to bit 2 of this flag is used.
Bit 0 = 0: Performs uppercasing conversion. Uppercasing can be done to bothfull form and half form letters.
Bit 1 = 0: Performs full form to half form conversion.Bit 2 = 0: Performs Kana to Hiragana conversion. This is only valid for
Japanese Kana characters.
No conversion will be done prior to comparing the characters if this optionalparameter is not specified.
Description
str and sub-str can contain one-byte and multi-byte characters.
HSY/SEAR–57
HSY$CH_NBYTE
HSY$CH_NBYTE
HSY$CH_NBYTE counts the number of bytes of a character string.
Format
HSY$CH_NBYTE str,nof-chr
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The number of bytes counted in the specified number of characters.
Arguments
strVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the specified string.
nof-chrVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The number of characters to be scanned from the starting position of the inputstring for counting the number of bytes.
Description
The routine accepts the number of characters and returns the number of bytescontained in the string of characters.
HSY/COUN–58
HSY$CH_NCHAR
HSY$CH_NCHAR
HSY$CH_NCHAR returns the number of characters in a specified string.
Format
HSY$CH_NCHAR str,len
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The number of characters in the specified string.
Arguments
strVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the specified string. Note that this addressmust be on the proper character boundary, e.g. it should not point to the secondbyte of a two-byte character.
lenVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in byte of the specified string.
Description
This routine returns the number of characters found in the input string up tothe position specified by len. All one-byte 7-bit control characters and one-byte8-bit characters (e.g. an 8-bit character followed by a 7-bit control character)are treated as a character. If the last character specified by len is a multi-bytecharacter with its last byte located beyond the input string terminating positionas specified by len, this multi-byte character is also counted by the routine.
HSY/COUN–59
HSY$CH_SIZE
HSY$CH_SIZE
HSY$CH_SIZE tells the byte length of the specified character.
Format
HSY$CH_SIZE chr
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The size in bytes of the specified character.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input character.
Description
This routine returns the number of bytes of the specified character. If thecharacter is an ASCII character, 1 will be returned. If it is a multi-byte character,the number of bytes of the character will be returned.
HSY/COUN–60
HSY$DX_NOF_BYTE
HSY$DX_NOF_BYTE
HSY$DX_NOF_BYTE counts the number of bytes of a character string.
Format
HSY$DX_NOF_BYTE str,nof-chr
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The returned number of bytes.
0 - Procedure completed unsuccessfully due to either invaliddescriptor specified or nof-chr less than 1.
Non-zero - The number of bytes.
Arguments
strVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
Input string.
nof-chrVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by reference
The number of characters to be scanned from the starting position of the inputstring for counting the number of bytes.
Description
This routine accepts the number of characters and returns the number of bytescontained in the string of characters.
HSY/COUN–61
HSY$DX_NOF_CHAR
HSY$DX_NOF_CHAR
HSY$DX_NOF_CHAR returns the number of characters in a specified number ofbytes.
Format
HSY$DX_NOF_CHAR str
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The returned number of characters.
0 - Procedure completed unsuccessfully due to either invaliddescriptor specified or nof-chr less than 1.
Non-zero - The number of characters.
Arguments
strVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
Input string.
Description
This routine returns the number of characters found in the input string up to theposition specified by the length field of the descriptor. All one-byte 7-bit controlcharacters and one-byte 8-bit characters (e.g. an 8-bit character followed by a7-bit control character) are treated as a character. If the last character specifiedby the length field of the descriptor is a multi-byte character with its last bytelocated beyond the input string terminating position, this multi-byte character isalso counted by the routine.
HSY/COUN–62
HSY$IS_ALPHA
HSY$IS_ALPHA
HSY$IS_ALPHA checks if the input character is a Greek, Russian or Romanletter.
Format
HSY$IS_ALPHA chr
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The returned flag.
0 - The input character is not a letter character.1 - The input character is a letter character.
Note that "letter character" here means one of the following:
(1) one-byte English letter(2) multi-byte English letter(3) multi-byte Greek letter(4) multi-byte Russian letter
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input character.
Description
None.
HSY/CHAR–63
HSY$IS_DESCRIPTION
HSY$IS_DESCRIPTION
HSY$IS_DESCRIPTION checks if the input character is a multi-byte locallanguage punctuation (excluding parenthesis, bracket and quote).
Format
HSY$IS_DESCRIPTION chr
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The returned flag.
0 - The input character is not a multi-byte local language punctuation(excluding parenthesis, bracket and quote).
1 - The input character is a multi-byte local language punctuation (excludingparenthesis, bracket and quote).
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input character.
Description
None.
HSY/CHAR–64
HSY$IS_DIGIT
HSY$IS_DIGIT
HSY$IS_DIGIT checks if the input character is a one-byte or multi-byte numericdigit.
Format
HSY$IS_DIGIT chr
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The returned flag.
0 - The input character is not a digit symbol.1 - The input character is a digit symbol.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer(unsigned)access: read onlymechanism: by value
Input character.
Description
None.
HSY/CHAR–65
HSY$IS_GENERAL
HSY$IS_GENERAL
HSY$IS_GENERAL checks if the input character is a multi-byte general symbolcharacter (that does not belong to any of the above catagories).
Format
HSY$IS_GENERAL chr
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The returned flag.
0 - The input character is not a multi-byte general symbol character.1 - The input character is a multi-byte general symbol character.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input character.
Description
None.
HSY/CHAR–66
HSY$IS_GREEK
HSY$IS_GREEK
HSY$IS_GREEK checks if the input character is a multi-byte Greek letter.
Format
HSY$IS_GREEK chr
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The returned flag.
0 - The input character is not a multi-byte Greek letter.1 - The input character is a multi-byte Greek letter.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input character.
Description
None.
HSY/CHAR–67
HSY$IS_HIRAGANA
HSY$IS_HIRAGANA
HSY$IS_HIRAGANA checks if the input character is a multi-byte JapaneseHiragana character.
Format
HSY$IS_HIRAGANA chr
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The returned flag.
0 - The input character is not a Hiragana character.1 - The input character is a Hiragana character.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input character.
Description
None.
HSY/CHAR–68
HSY$IS_IDEOGRAPH
HSY$IS_IDEOGRAPH
HSY$IS_IDEOGRAPH checks if the input multi-byte character is an ideographicmulti-byte character (excluding all multi-byte Roman, Greek, Russian letters,Japanese characters and all multi-byte symbols).
Format
HSY$IS_IDEOGRAPH chr
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The returned flag.
0 - The input character is not an ideographic multi-byte character.1 - The input character is an ideographic multi-byte character.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input character.
Description
None.
HSY/CHAR–69
HSY$IS_KANA
HSY$IS_KANA
HSY$IS_KANA checks if the input character is a multi-byte Japanese Kanacharacter.
Format
HSY$IS_KANA chr
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The returned flag.
0 - The input character is not a Kana character.1 - The input character is a Kana character.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input character.
Description
Japanese Kana characters can either be Hiragana or Katakana characters.
HSY/CHAR–70
HSY$IS_KATAKANA
HSY$IS_KATAKANA
HSY$IS_KATAKANA checks if the input character is a multi-byte JapaneseKatakana character.
Format
HSY$IS_KATAKANA chr
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The returned flag.
0 - The input character is not a Katakana character.1 - The input character is a Katakana character.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input character.
Description
None.
HSY/CHAR–71
HSY$IS_LEFT_PARENTHESIS
HSY$IS_LEFT_PARENTHESIS
HSY$IS_LEFT_PARENTHESIS checks if the input character is a multi-byte leftparenthesis symbol character.
Format
HSY$IS_LEFT_PARENTHESIS chr
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The returned flag.
0 - The input character is not a multi-byte left parenthesis symbol character.1 - The input character is a multi-byte left parenthesis symbol character.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input character.
Description
None.
HSY/CHAR–72
HSY$IS_LINE_DRAWING
HSY$IS_LINE_DRAWING
HSY$IS_LINE_DRAWING checks if the input character is a multi-byte linedrawing symbol character.
Format
HSY$IS_LINE_DRAWING chr
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The returned flag.
0 - The input character is not a multi-byte line drawing symbol character.1 - The input character is a multi-byte line drawing symbol character.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input character.
Description
None.
HSY/CHAR–73
HSY$IS_LOWER
HSY$IS_LOWER
HSY$IS_LOWER checks if the input character is a lower case Greek, Russian orRoman letter.
Format
HSY$IS_LOWER chr
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The returned flag.
0 - The input character is not a lower case letter character.1 - The input character is a lower case letter character.
Note that "letter character" here means one of the following:
(1) one-byte English letter(2) multi-byte English letter(3) multi-byte Greek letter(4) multi-byte Russian letter
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input character.
Description
None.
HSY/CHAR–74
HSY$IS_NO_FIRST
HSY$IS_NO_FIRST
HSY$IS_NO_FIRST checks if the input character is a multi-byte "NO FIRST"character.
Format
HSY$IS_NO_FIRST chr
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The returned flag.
0 - The input character is not a multi-byte "NO FIRST" character.1 - The input character is a multi-byte "NO FIRST" character.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input character.
Description
"NO FIRST" multi-byte characters include right parenthesis, right bracket, rightquote as well as some multi-byte punctuations that should not appear at the startof a line.
HSY/CHAR–75
HSY$IS_NO_LAST
HSY$IS_NO_LAST
HSY$IS_NO_LAST checks if the input character is a multi-byte "NO-LAST"character.
Format
HSY$IS_NO_LAST chr
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The returned flag.
0 - The input character is not a multi-byte "NO LAST" character.1 - The input character is a multi-byte "NO LAST" character.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input character.
Description
"NO LAST" multi-byte characters include left parenthesis, left bracket and leftquote.
HSY/CHAR–76
HSY$IS_PARENTHESIS
HSY$IS_PARENTHESIS
HSY$IS_PARENTHESIS checks if the input character is a multi-byte parenthesissymbol character.
Format
HSY$IS_PARENTHESIS chr
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The returned flag.
0 - The input character is not a multi-byte parenthesis symbol character.1 - The input character is a multi-byte parenthesis symbol character.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input character.
Description
Multi-byte parenthesis symbols include left and right multi-byte parentheses.
HSY/CHAR–77
HSY$IS_RIGHT_PARENTHESIS
HSY$IS_RIGHT_PARENTHESIS
HSY$IS_RIGHT_PARENTHESIS checks if the input character is a multi-byteright parenthesis symbol character.
Format
HSY$IS_RIGHT_PARENTHESIS chr
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The returned flag.
0 - The input character is not a multi-byte right parenthesis symbol character.1 - The input character is a multi-byte right parenthesis symbol character.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input character.
Description
None.
HSY/CHAR–78
HSY$IS_ROMAN
HSY$IS_ROMAN
HSY$IS_ROMAN checks if the input character is a one-byte or multi-byte Englishletter.
Format
HSY$IS_ROMAN chr
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The returned flag.
0 - The input character is not a one-byte or multi-byte English letter.1 - The input character is a one-byte or multi-byte English letter.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input character.
Description
None.
HSY/CHAR–79
HSY$IS_RUSSIAN
HSY$IS_RUSSIAN
HSY$IS_RUSSIAN checks if the input character is a multi-byte Russian letter.
Format
HSY$IS_RUSSIAN chr
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The returned flag.
0 - The input character is not a multi-byte Russian letter.1 - The input character is a multi-byte Russian letter.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input character.
Description
None.
HSY/CHAR–80
HSY$IS_TECHNICAL
HSY$IS_TECHNICAL
HSY$IS_TECHNICAL checks if the input character is a scientific ormathematical multi-byte symbol character.
Format
HSY$IS_TECHNICAL chr
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The returned flag.
0 - The input character is not a technical multi-byte symbol character.1 - The input character is a technical multi-byte symbol character.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input character.
Description
None.
HSY/CHAR–81
HSY$IS_UNIT
HSY$IS_UNIT
HSY$IS_UNIT checks if the input character is a multi-byte standard unit symbolcharacter.
Format
HSY$IS_UNIT chr
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The returned flag.
0 - The input character is not a multi-byte standard unit symbol character.1 - The input character is a multi-byte standard unit symbol character.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input character.
Description
None.
HSY/CHAR–82
HSY$IS_UPPER
HSY$IS_UPPER
HSY$IS_UPPER checks if the input character is an upper case Greek, Russian orRoman letter.
Format
HSY$IS_UPPER chr
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The returned flag.
0 - The input character is not an upper case letter character.1 - The input character is an upper case letter character.
Note that "letter character" here means one of the following:
(1) one-byte English letter(2) multi-byte English letter(3) multi-byte Greek letter(4) multi-byte Russian letter
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input character.
Description
None.
HSY/CHAR–83
HSY$IS_VALID
HSY$IS_VALID
HSY$IS_VALID checks if the input character is a valid multi-byte character.
Format
HSY$IS_VALID chr
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
The returned flag.
0 - The input character is not a valid multi-byte character.1 - The input character is a valid multi-byte character.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input character.
Description
Valid multi-byte characters are those found in the DEC supported local languagecharacter set.
HSY/CHAR–84
HSY$DX_DATE_TIME
HSY$DX_DATE_TIME
HSY$DX_DATE_TIME returns the date and time in local language format (thetime can either be the system time or the user-specified date).
Format
HSY$DX_DATE_TIME dst,[flag],[time-addr]
Returns
VMS Usage: cond_valuetype: longword (unsigned)access: write onlymechanism: by value
The same condition value returned by OpenVMS Run Time Library routineLIB$SCOPY_R_DX.
Arguments
dstVMS Usage: char_stringtype: character stringaccess: write onlymechanism: by descriptor
The specified destination string to store the resulting time string in local languageformat.
flagVMS Usage: byte_signedtype: byte integer (signed)access: read onlymechanism: by reference
Bit 0: 0 - 12 hour format (default)1 - 24 hour format
Bit 1: 0 - Full date and time (default)1 - Time only
If this argument is not specified, 0 will be used which means 12 hour format withfull date and time display.
time-addrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the quadword that contains the user-specified date and time in64-bit time format. If this argument is not specified, the current system time willbe used.
HSY/DATE–85
HSY$DX_TIME
HSY$DX_TIME
HSY$DX_TIME returns the date and time of the system time in local languageformat.
Format
HSY$DX_TIME dst,[flag]
Returns
VMS Usage: cond_valuetype: longword (unsigned)access: write onlymechanism: by value
The same condition value returned by OpenVMS Run Time Library routineLIB$SCOPY_R_DX.
Arguments
dstVMS Usage: char_stringtype: character stringaccess: write onlymechanism: by descriptor
The specified destination string to store the resulting displaying string in locallanguage format.
flagVMS Usage: byte_signedtype: byte integer (signed)access: read onlymechanism: by reference
Bit 0: 0 - 12 hour format (default)1 - 24 hour format
Bit 1: 0 - Full date and time (default)1 - Time only
If this argument is not specified, 0 will be used which means 12 hour format withfull date and time display.
Description
None.
HSY/DATE–87
HSY$CHG_GENERAL
HSY$CHG_GENERAL
HSY$CHG_GENERAL converts specified characters in one of the three followingways:
(1) From lower case letters to upper case letters (including English, Greekand Russian letters)
(2) From full form ASCII to half form ASCII(3) From Kana to Hiragana (for Japanese characters only)
Format
HSY$CHG_GENERAL chr,conv-flag
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
The converted character.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The specified character to be converted.
conv-flagVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
Conversion flag indicating what conversion is to be done. Only bit 0 to bit 2 ofthis flag is used.
Bit 0 = 0: Performs uppercasing conversion. Uppercasing can be done to bothfull form and half form letters.
Bit 1 = 0: Performs full form to half form conversion.Bit 2 = 0: Performs Kana to Hiragana conversion. This is only valid for
Japanese Kana characters.
Description
If chr is not applicable to a particular conversion, e.g. chr is not a letter anduppercasing conversion is specified by conv-flag, then no conversion will be doneand chr will be returned.
HSY/CONV–88
HSY$CHG_KANA_HIRA
HSY$CHG_KANA_HIRA
HSY$CHG_KANA_HIRA converts Katakana characters to Hiragana characters.(For Japanese characters only.)
Format
HSY$CHG_KANA_HIRA kana
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
The converted Hiragana character.
Arguments
kanaVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input Kana character.
Description
If kana is not a Katakana character, kana will be returned with no conversiondone.
HSY/CONV–89
HSY$CHG_KANA_KANA
HSY$CHG_KANA_KANA
HSY$CHG_KANA_KANA toggles Kana characters to Hiragana or Katakanacharacters. (For Japanese characters only.)
Format
HSY$CHG_KANA_KANA kana
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
The converted Kana character which can either be Hiragana or Katakana.
Arguments
kanaVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input Kana character.
Description
If kana is a Hiragana character, it will be converted to a Katakana character. Ifkana is a Katakana character, it will be converted to a Hiragana character.
If kana is not a Hiragana or Katakana character, kana will be returned with noconversion done.
HSY/CONV–90
HSY$CHG_KANA_KATA
HSY$CHG_KANA_KATA
HSY$CHG_KANA_KATA converts Hiragana characters to Katakana characters.(For Japanese characters only.)
Format
HSY$CHG_KANA_KATA kana
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
The converted Katakana character.
Arguments
kanaVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input Kana character.
Description
If kana is not a Hiragana character, kana will be returned with no conversiondone.
HSY/CONV–91
HSY$CHG_KEISEN
HSY$CHG_KEISEN
HSY$CHG_KEISEN converts ’0’ to ’9’ and ’-’ to multi-byte line drawingcharacters.
Format
HSY$CHG_KEISEN chr
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
Returned multi-byte line drawing character.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The input character code (see description).
Description
The conversion table is as follows:
If chr is not from ’0’ to ’9’ or ’-’, chr will be returned with no conversion done.
HSY/CONV–92
HSY$CHG_ROM_CASE
HSY$CHG_ROM_CASE
HSY$CHG_ROM_CASE toggles the casing of one-byte and multi-byte letters(English letters, Greek letters and Russian letters) of the input character.
Format
HSY$CHG_ROM_CASE chr
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
Converted character with its case toggled.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input character.
Description
One-byte and multi-byte English letters, multi-byte Greek letters and multi-byteRussian letters contain both upper and lower case characters. This routineconverts upper case characters to lower case characters and vice versa.
If chr is not a one-byte or multi-byte letter as stated above, chr will be returnedand no conversion will be done.
HSY/CONV–93
HSY$CHG_ROM_FULL
HSY$CHG_ROM_FULL
HSY$CHG_ROM_FULL converts one-byte ASCII (half form ASCII) to multi-byteequivalence (full form ASCII).
Format
HSY$CHG_ROM_FULL chr
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
The corresponding full form ASCII character.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input character.
Description
If chr is not a half form ASCII character, chr will be returned and no conversionwill be done.
HSY/CONV–94
HSY$CHG_ROM_HALF
HSY$CHG_ROM_HALF
HSY$CHG_ROM_HALF converts multi-byte ASCII (full form ASCII) to one-byte(half form ASCII) equivalence.
Format
HSY$CHG_ROM_HALF chr
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
The corresponding half form ASCII character.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input character.
Description
If chr is not a full form character, chr will be returned and no conversion will bedone.
HSY/CONV–95
HSY$CHG_ROM_LOWER
HSY$CHG_ROM_LOWER
HSY$CHG_ROM_LOWER converts one-byte and multi-byte letters (Englishletters, Greek letters and Russian letters) to lower case.
Format
HSY$CHG_ROM_LOWER chr
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
The corresponding lowercase character.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input character.
Description
If chr is not an upper case letter (English letter, Greek letter and Russian letter),chr will be returned and no conversion will be done.
HSY/CONV–96
HSY$CHG_ROM_SIZE
HSY$CHG_ROM_SIZE
HSY$CHG_ROM_SIZE toggles the form (full form or half form) of the inputcharacter.
Format
HSY$CHG_ROM_SIZE chr
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
Toggled character.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input character.
Description
Full form and half form conversions only apply to one-byte ASCII (half formASCII) and multi-byte ASCII (full form ASCII). There are no half formequivalence of other multi-byte characters such as Greek letters.
If chr is not a full form or half form character, chr will be returned and noconversion will be done.
HSY/CONV–97
HSY$CHG_ROM_UPPER
HSY$CHG_ROM_UPPER
HSY$CHG_ROM_UPPER converts one-byte and multi-byte letters (Englishletters, Greek letters and Russian letters) to upper case.
Format
HSY$CHG_ROM_UPPER chr
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
The corresponding uppercase character.
Arguments
chrVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
Input character.
Description
If chr is not a lower case letter (English letter, Greek letter and Russian letter),chr will be returned and no conversion will be done.
HSY/CONV–98
HSY$DX_TRA_KANA_HIRA
HSY$DX_TRA_KANA_HIRA
HSY$DX_TRA_KANA_HIRA converts Katakana character strings to Hiraganacharacter strings. (For Japanese characters only.)
Format
HSY$DX_TRA_KANA_HIRA dst,src,[len]
Returns
VMS Usage: cond_valuetype: longword (unsigned)access: write onlymechanism: by value
Arguments
dstVMS Usage: char_stringtype: character stringaccess: write onlymechanism: by descriptor
The destination string that stores the result of the conversion.
srcVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
The source string that is to be converted.
lenVMS Usage: word_signedtype: word integer (signed)access: write onlymechanism: by reference
The length in bytes of the converted string. If this argument is not supplied, nolength information of the converted string will be returned to the caller.
Description
Characters in the input string which are not Katakana characters will be copiedto the corresponding position in the output string with no conversion done.
condition values returned
LIB$_INVSTRDES Invalid string descriptor. A string descriptor hasan invalid value in its DSC$B_CLASS field.
LIB$_STRTRU Procedure successfully completed. Stringtruncated.
HSY/CONV–99
HSY$DX_TRA_KANA_HIRA
LIB$_FATERRLIB Fatal internal error. An internal consistencycheck has failed.
LIB$_INSVIRMEM Insufficient virtual memory.SS$_NORMAL Procedure successfully completed.
HSY/CONV–100
HSY$DX_TRA_KANA_KANA
HSY$DX_TRA_KANA_KANA
HSY$DX_TRA_KANA_KANA toggles Kana character strings to Hiragana orKatakana character strings. (For Japanese characters only.)
Format
HSY$DX_TRA_KANA_KANA dst,src,[len]
Returns
VMS Usage: cond_valuetype: longword (unsigned)access: write onlymechanism: by value
Arguments
dstVMS Usage: char_stringtype: character stringaccess: write onlymechanism: by descriptor
The destination string that stores the result of the conversion.
srcVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
The source string that is to be converted.
lenVMS Usage: word_signedtype: word integer (signed)access: write onlymechanism: by reference
The length in bytes of the converted string. If this argument is not supplied, nolength information of the converted string will be returned to the caller.
Description
All Hiragana characters found are converted to Katakana and all Katakanacharacters found are converted to Hiragana.
Characters in the input string that are not Hiragana or Katakana are copied tothe corresponding position in the output string with no conversion done.
HSY/CONV–101
HSY$DX_TRA_KANA_KANA
condition values returned
LIB$_INVSTRDES Invalid string descriptor. A string descriptor hasan invalid value in its DSC$B_CLASS field.
LIB$_STRTRU Procedure successfully completed. Stringtruncated.
LIB$_FATERRLIB Fatal internal error. An internal consistencycheck has failed.
LIB$_INSVIRMEM Insufficient virtual memory.SS$_NORMAL Procedure successfully completed.
HSY/CONV–102
HSY$DX_TRA_KANA_KATA
HSY$DX_TRA_KANA_KATA
HSY$DX_TRA_KANA_KATA converts Hiragana character strings to Katakanacharacter strings. (For Japanese characters only.)
Format
HSY$DX_TRA_KANA_KATA dst,src,[len]
Returns
VMS Usage: cond_valuetype: longword (unsigned)access: write onlymechanism: by value
Arguments
dstVMS Usage: char_stringtype: character stringaccess: write onlymechanism: by descriptor
The destination string that stores the result of the conversion.
srcVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
The source string that is to be converted.
lenVMS Usage: word_signedtype: word integer (signed)access: write onlymechanism: by reference
The length in bytes of the converted string. If this argument is not supplied, nolength information of the converted string will be returned to the caller.
Description
Characters in the input string which are not Hiragana characters will be copiedto the corresponding position in the output string with no conversion done.
condition values returned
LIB$_INVSTRDES Invalid string descriptor. A string descriptor hasan invalid value in its DSC$B_CLASS field.
LIB$_STRTRU Procedure successfully completed. Stringtruncated.
HSY/CONV–103
HSY$DX_TRA_KANA_KATA
LIB$_FATERRLIB Fatal internal error. An internal consistencycheck has failed.
LIB$_INSVIRMEM Insufficient virtual memory.SS$_NORMAL Procedure successfully completed.
HSY/CONV–104
HSY$DX_TRA_ROM_CASE
HSY$DX_TRA_ROM_CASE
HSY$DX_TRA_ROM_CASE toggles the casing of one-byte and multi-byte letters(English letters, Greek letters and Russian letters) found in the input string.
Format
HSY$DX_TRA_ROM_CASE dst,src,[len]
Returns
VMS Usage: cond_valuetype: longword (unsigned)access: write onlymechanism: by value
Arguments
dstVMS Usage: char_stringtype: character stringaccess: write onlymechanism: by descriptor
The destination string that stores the result of the conversion.
srcVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
The source string that is to be converted.
lenVMS Usage: word_signedtype: word integer (signed)access: write onlymechanism: by reference
The length in bytes of the converted string. If this argument is not supplied, nolength information of the converted string will be returned to the caller.
Description
One-byte and multi-byte English letters, multi-byte Greek letters and multi-byte Russian letters all contain both upper case and lower case characters.This routine converts all upper case characters to lower case and all lower casecharacters to upper case.
Characters in the input string that are not upper case or lower case charactersare copied to the corresponding position in the output string with no conversiondone.
HSY/CONV–105
HSY$DX_TRA_ROM_CASE
condition values returned
LIB$_INVSTRDES Invalid string descriptor. A string descriptor hasan invalid value in its DSC$B_CLASS field.
LIB$_STRTRU Procedure successfully completed. Stringtruncated.
LIB$_FATERRLIB Fatal internal error. An internal consistencycheck has failed.
LIB$_INSVIRMEM Insufficient virtual memory.SS$_NORMAL Procedure successfully completed.
HSY/CONV–106
HSY$DX_TRA_ROM_FULL
HSY$DX_TRA_ROM_FULL
HSY$DX_TRA_ROM_FULL converts one-byte ASCII (half form ASCII) to multi-byte equivalence (full form ASCII).
Format
HSY$DX_TRA_ROM_FULL dst,src,[len]
Returns
VMS Usage: cond_valuetype: longword (unsigned)access: write onlymechanism: by value
Arguments
dstVMS Usage: char_stringtype: character stringaccess: write onlymechanism: by descriptor
The destination string that stores the result of the conversion.
srcVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
The source string that is to be converted.
lenVMS Usage: word_signedtype: word integer (signed)access: write onlymechanism: by reference
The length in bytes of the converted string. If this argument is not supplied, nolength information of the converted string will be returned to the caller.
Description
Characters in the input string that are not half form characters are copied to thecorresponding position in the output string with no conversion done.
condition values returned
LIB$_INVSTRDES Invalid string descriptor. A string descriptor hasan invalid value in its DSC$B_CLASS field.
LIB$_STRTRU Procedure successfully completed. Stringtruncated.
HSY/CONV–107
HSY$DX_TRA_ROM_FULL
LIB$_FATERRLIB Fatal internal error. An internal consistencycheck has failed.
LIB$_INSVIRMEM Insufficient virtual memory.SS$_NORMAL Procedure successfully completed.
HSY/CONV–108
HSY$DX_TRA_ROM_HALF
HSY$DX_TRA_ROM_HALF
HSY$DX_TRA_ROM_HALF converts multi-byte ASCII (full form ASCII) toone-byte (half form ASCII) equivalence.
Format
HSY$DX_TRA_ROM_HALF dst,src,[len]
Returns
VMS Usage: cond_valuetype: longword (unsigned)access: write onlymechanism: by value
Arguments
dstVMS Usage: char_stringtype: character stringaccess: write onlymechanism: by descriptor
The destination string that stores the result of the conversion.
srcVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
The source string that is to be converted.
lenVMS Usage: word_signedtype: word integer (signed)access: write onlymechanism: by reference
The length in bytes of the converted string. If this argument is not supplied, nolength information of the converted string will be returned to the caller.
Description
Characters in the input string that are not full form characters are copied to thecorresponding position in the output string with no conversion done.
CONDITION VALUES RETURNED
LIB$_INVSTRDES Invalid string descriptor. A string descriptor hasan invalid value in its DSC$B_CLASS field.
LIB$_STRTRU Procedure successfully completed. Stringtruncated.
HSY/CONV–109
HSY$DX_TRA_ROM_HALF
LIB$_FATERRLIB Fatal internal error. An internal consistencycheck has failed.
LIB$_INSVIRMEM Insufficient virtual memory.SS$_NORMAL Procedure successfully completed.
HSY/CONV–110
HSY$DX_TRA_ROM_LOWER
HSY$DX_TRA_ROM_LOWER
HSY$DX_TRA_ROM_LOWER converts one-byte and multi-byte letters (Englishletters, Greek letters and Russian letters) to lower case.
Format
HSY$DX_TRA_ROM_LOWER dst,src,[len]
Returns
VMS Usage: cond_valuetype: longword (unsigned)access: write onlymechanism: by value
Arguments
dstVMS Usage: char_stringtype: character stringaccess: write onlymechanism: by descriptor
The destination string that stores the result of the conversion.
srcVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
The source string that is to be converted.
lenVMS Usage: word_signedtype: word integer (signed)access: write onlymechanism: by reference
The length in bytes of the converted string. If this argument is not supplied, nolength information of the converted string will be returned to the caller.
Description
Characters in the input string that are not upper case letters are copied to thecorresponding position in the output string with no conversion done.
condition values returned
LIB$_INVSTRDES Invalid string descriptor. A string descriptor hasan invalid value in its DSC$B_CLASS field.
LIB$_STRTRU Procedure successfully completed. Stringtruncated.
HSY/CONV–111
HSY$DX_TRA_ROM_LOWER
LIB$_FATERRLIB Fatal internal error. An internal consistencycheck has failed.
LIB$_INSVIRMEM Insufficient virtual memory.SS$_NORMAL Procedure successfully completed.
HSY/CONV–112
HSY$DX_TRA_ROM_SIZE
HSY$DX_TRA_ROM_SIZE
HSY$DX_TRA_ROM_SIZE toggles the form (full form or half form) of the inputstring.
Format
HSY$DX_TRA_ROM_SIZE dst,src,[len]
Returns
VMS Usage: cond_valuetype: longword (unsigned)access: write onlymechanism: by value
Arguments
dstVMS Usage: char_stringtype: character stringaccess: write onlymechanism: by descriptor
The destination string that stores the result of the conversion.
srcVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
The source string that is to be converted.
lenVMS Usage: word_signedtype: word integer (signed)access: write onlymechanism: by reference
The length in bytes of the converted string. If this argument is not supplied, nolength information of the converted string will be returned to the caller.
Description
Full form and half form conversions only apply to one-byte ASCII (half formASCII) and multi-byte ASCII (full form ASCII). There is no half form equivalenceof other multi-byte characters such as multi-byte Greek letters.
Characters in the input string that are not full form or half form characters arecopied to the corresponding position in the output string with no conversion done.
HSY/CONV–113
HSY$DX_TRA_ROM_SIZE
condition values returned
LIB$_INVSTRDES Invalid string descriptor. A string descriptor hasan invalid value in its DSC$B_CLASS field.
LIB$_STRTRU Procedure successfully completed. Stringtruncated.
LIB$_FATERRLIB Fatal internal error. An internal consistencycheck has failed.
LIB$_INSVIRMEM Insufficient virtual memory.SS$_NORMAL Procedure successfully completed.
HSY/CONV–114
HSY$DX_TRA_ROM_UPPER
HSY$DX_TRA_ROM_UPPER
HSY$DX_TRA_ROM_UPPER converts one-byte and multi-byte letters (Englishletters, Greek letters and Russian letters) to upper case.
Format
HSY$DX_TRA_ROM_UPPER dst,src,[len]
Returns
VMS Usage: cond_valuetype: longword (unsigned)access: write onlymechanism: by value
Arguments
dstVMS Usage: char_stringtype: character stringaccess: write onlymechanism: by descriptor
The destination string that stores the result of the conversion.
srcVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
The source string that is to be converted.
lenVMS Usage: word_signedtype: word integer (signed)access: write onlymechanism: by reference
The length in bytes of the converted string. If this argument is not supplied, nolength information of the converted string will be returned to the caller.
Description
Characters in the input string that are not lower case letters are copied to thecorresponding position in the output string with no conversion done.
condition values returned
LIB$INVSTRDES Invalid string descriptor. A string descriptor hasan invalid value in its DSC$B_CLASS field.
LIB$_STRTRU Procedure successfully completed. Stringtruncated.
HSY/CONV–115
HSY$DX_TRA_ROM_UPPER
LIB$_FATERRLIB Fatal internal error. An internal consistencycheck has failed.
LIB$_INSVIRMEM Insufficient virtual memory.SS$_NORMAL Procedure successfully completed.
HSY/CONV–116
HSY$DX_TRA_SYMBOL
HSY$DX_TRA_SYMBOL
HSY$DX_TRA_SYMBOL converts the sequence of a one-byte character to a stringof multi-byte symbols.
Format
HSY$DX_TRA_SYMBOL dst,src,[len]
Returns
VMS Usage: cond_valuetype: longword (unsigned)access: write onlymechanism: by value
The return status.
Arguments
dstVMS Usage: char_stringtype: character stringaccess: write onlymechanism: by descriptor
The destination string that stores the result of the conversion.
srcVMS Usage: char_stringtype: character stringaccess: read onlymechanism: by descriptor
The source string that is to be converted.
lenVMS Usage: word_signedtype: word integer (signed)access: write onlymechanism: by reference
The length in bytes of the converted string. If this argument is not supplied, nolength information of the converted string will be returned to the caller.
Description
This routine provides conversion of sequences of ASCII characters tocorresponding multi-byte symbols and multi-byte characters as stated in thefollowing table.
If the characters in the input string are not applicable for conversion, they will becopied to the corresponding position in the output string with no conversion done.
HSY/CONV–117
HSY$DX_TRA_SYMBOL
condition values returned
LIB$_INVSTRDES Invalid string descriptor. A string descriptor hasan invalid value in its DSC$B_CLASS field.
LIB$_STRTRU Procedure successfully completed. Stringtruncated.
LIB$_FATERRLIB Fatal internal error. An internal consistencycheck has failed.
LIB$_INSVIRMEM Insufficient virtual memory.SS$_NORMAL Procedure successfully completed.
HSY/CONV–118
HSY$TRA_KANA_HIRA
HSY$TRA_KANA_HIRA
HSY$TRA_KANA_HIRA converts Katakana character strings to Hiraganacharacter strings. (For Japanese characters only.)
Format
HSY$TRA_KANA_HIRA ip,il,op,ol,rl
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
1 - The input string is successfully converted.0 - A truncated input string is converted due to insufficient output space of
the output string allocated by the caller.
Arguments
ipVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the specified string which is the input forconversion.
ilVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of the input string.
opVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the specified string which stores the outputof conversion.
olVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of the output string.
HSY/CONV–119
HSY$TRA_KANA_HIRA
rlVMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by reference
The length in bytes of the converted string.
Description
If the characters in the input string are not Katakana characters, they will becopied to the corresponding position in the output string with no conversion done.
HSY/CONV–120
HSY$TRA_KANA_KANA
HSY$TRA_KANA_KANA
HSY$TRA_KANA_KANA toggles Kana character strings to Hiragana orKatakana characters. (For Japanese characters only.)
Format
HSY$TRA_KANA_KANA ip,il,op,ol,rl
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
1 - The input string is successfully converted.0 - A truncated input string is converted due to insufficient output space of
the output string allocated by the caller.
Arguments
ipVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the specified string which is the input forconversion.
ilVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of the input string.
opVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the specified string which stores the outputof conversion.
olVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of the output string.
HSY/CONV–121
HSY$TRA_KANA_KANA
rlVMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by reference
The length in bytes of the converted string.
Description
All Hiragana characters found are converted to Katakana and all Katakanacharacters found are converted to Hiragana.
If the characters in the input string are not Hiragana or Katakana, they will becopied to the corresponding position in the output string with no conversion done.
HSY/CONV–122
HSY$TRA_KANA_KATA
HSY$TRA_KANA_KATA
HSY$TRA_KANA_KATA converts Hiragana character strings to Katakanacharacter strings. (For Japanese characters only.)
Format
HSY$TRA_KANA_KATA ip,il,op,ol,rl
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
1 - The input string is successfully converted.0 - A truncated input string is converted due to insufficient output space of
the output string allocated by the caller.
Arguments
ipVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the specified string which is the input forconversion.
ilVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of the input string.
opVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the specified string which stores the outputof conversion.
olVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of the output string.
HSY/CONV–123
HSY$TRA_KANA_KATA
rlVMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by reference
The length in bytes of the converted string.
Description
If the characters in the input string are not Hiragana characters, they will becopied to the corresponding position in the output string with no conversion done.
HSY/CONV–124
HSY$TRA_ROM_CASE
HSY$TRA_ROM_CASE
HSY$TRA_ROM_CASE toggles the casing of one-byte and multi-byte letters(English letters, Greek letters and Russian letters) found in the string.
Format
HSY$TRA_ROM_CASE ip,il,op,ol,rl
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
1 - The input string is successfully converted.0 - A truncated input string is converted due to insufficient output space of
the output string allocated by the caller.
Arguments
ipVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the specified string which is the input forconversion.
ilVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of the input string.
opVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the specified string which stores the outputof conversion.
olVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of the output string.
HSY/CONV–125
HSY$TRA_ROM_CASE
rlVMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by reference
The length in bytes of the converted string.
Description
One-byte and multi-byte English letters, multi-byte Greek letters and multi-byteRussian letters contain both upper and lower case characters. This routineconverts all upper case characters to lower case and all lower case characters toupper case.
If the characters in the input string are not one-byte or multi-byte letters,they will be copied to the corresponding position in the output string with noconversion done.
HSY/CONV–126
HSY$TRA_ROM_FULL
HSY$TRA_ROM_FULL
HSY$TRA_ROM_FULL converts one-byte ASCII (half form ASCII) to multi-byteequivalence (full form ASCII).
Format
HSY$TRA_ROM_FULL ip,il,op,ol,rl
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
1 - The input string is successfully converted.0 - A truncated input string is converted due to insufficient output space of
the output string allocated by the caller.
Arguments
ipVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the specified string which is the input forconversion.
ilVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of the input string.
opVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the specified string which stores the outputof conversion.
olVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of the output string.
HSY/CONV–127
HSY$TRA_ROM_FULL
rlVMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by reference
The length in bytes of the converted string.
Description
If the characters in the input string are not half form characters, they will becopied to the corresponding position in the output string with no conversion done.
HSY/CONV–128
HSY$TRA_ROM_HALF
HSY$TRA_ROM_HALF
HSY$TRA_ROM_HALF converts multi-byte ASCII (full form ASCII) to one-byte(half form ASCII) equivalence.
Format
HSY$TRA_ROM_HALF ip,il,op,ol,rl
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
1 - The input string is successfully converted.0 - A truncated input string is converted due to insufficient output space of
the output string allocated by the caller.
Arguments
ipVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the specified string which is the input forconversion.
ilVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of the input string.
opVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the specified string which stores the outputof conversion.
olVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of the output string.
HSY/CONV–129
HSY$TRA_ROM_HALF
rlVMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by reference
The length in bytes of the converted string.
Description
If the characters in the input string are not full form characters, they will becopied to the corresponding position in the output string with no conversion done.
HSY/CONV–130
HSY$TRA_ROM_LOWER
HSY$TRA_ROM_LOWER
HSY$TRA_ROM_LOWER converts one-byte and multi-byte letters (Englishletters, Greek letters and Russian letters) to lower case.
Format
HSY$TRA_ROM_LOWER ip,il,op,ol,rl
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
1 - The input string is successfully converted.0 - A truncated input string is converted due to insufficient output space of
the output string allocated by the caller.
Arguments
ipVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the specified string which is the input forconversion.
ilVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of the input string.
opVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the specified string which stores the outputof conversion.
olVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of the output string.
HSY/CONV–131
HSY$TRA_ROM_LOWER
rlVMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by reference
The length in bytes of the converted string.
Description
If the characters in the input string are not upper case letters, they will be copiedto the corresponding position in the output string with no conversion done.
HSY/CONV–132
HSY$TRA_ROM_SIZE
HSY$TRA_ROM_SIZE
HSY$TRA_ROM_SIZE toggles the form (full form or half form) of the inputstring.
Format
HSY$TRA_ROM_SIZE ip,il,op,ol,rl
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
1 - The input string is successfully converted.0 - A truncated input string is converted due to insufficient output space of
the output string allocated by the caller.
Arguments
ipVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the specified string which is the input forconversion.
ilVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of the input string.
opVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the specified string which stores the outputof conversion.
olVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of the output string.
HSY/CONV–133
HSY$TRA_ROM_SIZE
rlVMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by reference
The length in bytes of the converted string.
Description
Full form and half form conversions only apply to one-byte ASCII (half formASCII) and multi-byte ASCII (full form ASCII). There is no half form equivalenceof other multi-byte characters such as Greek letters.
If the characters in the input string are not full form or half form characters,they will be copied to the corresponding position in the output string with noconversion done.
HSY/CONV–134
HSY$TRA_ROM_UPPER
HSY$TRA_ROM_UPPER
HSY$TRA_ROM_UPPER converts one-byte and multi-byte letters (Englishletters, Greek letters and Russian letters) to upper case.
Format
HSY$TRA_ROM_UPPER ip,il,op,ol,rl
Returns
VMS Usage: longword_unsignedtype: longword integer (unsigned)access: write onlymechanism: by value
1 - The input string is successfully converted.0 - A truncated input string is converted due to insufficient output space of
the output string allocated by the caller.
Arguments
ipVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the starting position of the specified string which is the input forconversion.
ilVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of the input string.
opVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlysmechanism: by value
The address of the starting position of the specified string which stores the outputof conversion.
olVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length in bytes of the output string.
HSY/CONV–135
HSY$TRA_ROM_UPPER
rlVMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by reference
The length in bytes of the converted string.
Description
If the characters in the input string are not lower case letters, they will be copiedto the corresponding positions in the output string with no conversion done.
HSY/CONV–136
HSY$TRA_SYMBOL
HSY$TRA_SYMBOL
HSY$TRA_SYMBOL converts the sequence of a one-byte character to a string ofmulti-byte symbols.
Format
HSY$TRA_SYMBOL ip,il,op,ol,rl
Returns
VMS Usage: longword_signedtype: longword integer (signed)access: write onlymechanism: by value
0 - The conversion completed unsuccessfully.1 - The conversion completed successfully.
Arguments
ipVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the specified input string that is to be converted.
ilVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length of the input string that is specified by the argument ip.
opVMS Usage: longword_unsignedtype: longword integer (unsigned)access: read onlymechanism: by value
The address of the specified output string that stores the converted string.
olVMS Usage: longword_signedtype: longword integer (signed)access: read onlymechanism: by value
The length of the output string that is specified by the argument op.
rlVMS Usage: longword_signedtype: longword integer (signed)access: write only
HSY/CONV–137
HSY$TRA_SYMBOL
mechanism: by reference
The actual length of the converted string.
Description
This routine provides conversion of sequences of ASCII characters tocorresponding multi-byte symbols and multi-byte characters as stated in thefollowing table.
If the characters in the input string are not applicable for conversion, they will becopied to the corresponding position in the output string with no conversion done.
HSY/CONV–138
top related