home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
tolkit45.zip
/
os2tk45
/
book
/
rxstring.doc
< prev
next >
Wrap
Text File
|
1999-05-11
|
5KB
|
106 lines
RXSTRING Library of Functions (RXSTRING.LIB)
The RXSTRING.LIB library provides analogues of many of the standard C library
functions for the RXSTRING structure (which is used in conjunction with the
REXX interpreter), as well as a sampling of functions which convert standard
C strings into RXSTRING's.
The functions provided for OS/2 2.0 are 32-bit only. They must be called
from 32-bit code. For 16-bit RXSTRING functions, use the 1.2 or 1.3 OS/2 Toolkit
version of RXSTRING.LIB
The following functions are available:
Group 1: Numeric conversion functions
INT rxtoi(RXSTRING);
LONG rxtol(RXSTRING);
ULONG rxtoul(RXSTRING);
- these functions convert RXSTRING's into integer values, similar to the
atoi(), atol(), and atoul() functions
Group 2: File I/O functions
LONG rxwrite(HFILE, RXSTRING);
LONG rxread(HFILE, PRXSTRING);
VOID rxprint(RXSTRING)
- these functions will read and write RXSTRING's, including structure
information, to and from a file, as well as writing the data contained
in an RXSTRING to stdout
Group 3: Copy / Conversion functions
RXSTRING rxstrdup(RXSTRING);
RXSTRING rxmemcpy(PRXSTRING, PRXSTRING, ULONG);
RXSTRING rxstrcpy(PRXSTRING, PRXSTRING);
RXSTRING rxstrncpy(PRXSTRING, PRXSTRING, ULONG);
RXSTRING rxstrcat(PRXSTRING, PRXSTRING);
RXSTRING rxstrncat(PRXSTRING, PRXSTRING, ULONG);
RXSTRING strdup2rx(PUCHAR, ULONG);
RXSTRING memcpy2rx(PRXSTRING, PUCHAR, ULONG);
RXSTRING strcpy2rx(PRXSTRING, PSZ);
RXSTRING strcat2rx(PRXSTRING, PSZ);
RXSTRING strncat2rx(PRXSTRING, PSZ, ULONG);
- these functions will duplicate, copy and/or concatenate RXSTRING's with
RXSTRING's and RXSTRING's with standard strings/buffers
NOTE: Except for the "dup" functions, all of the functions require that
the destination string contain sufficient storage for completion
of the requested operation. The concatenation functions begin
appending at the current length of the RXSTRING. Therefore,
enough storage should be available for the original length plus
the length of the data to be added to the string.
Group 4: Comparison / Character functions
LONG rxstrcmp(PRXSTRING, PRXSTRING);
LONG rxstricmp(PRXSTRING, PRXSTRING);
LONG rxmemcmp(PRXSTRING, PRXSTRING, ULONG);
LONG rxmemicmp(PRXSTRING, PRXSTRING, ULONG);
PUCHAR rxstrchr(PRXSTRING, UCHAR);
PUCHAR rxstrrchr(PRXSTRING, UCHAR);
- these functions are analogues of the standard C library comparison
functions (strcmp, stricmp, memcmp, and memicmp) and character
search functions (strchr and strrchr), and return values similar to
those functions
Group 5: Miscellaneous functions
RXSTRING rxalloc(ULONG);
VOID rxfree(RXSTRING);
VOID rxstrnset(RXSTRING, UCHAR, ULONG);
ULONG rxstrlen(RXSTRING);
RXSTRING rxset_length(PRXSTRING, ULONG);
RXSTRING rxset_null(PRXSTRING);
RXSTRING rxset_zerolen(PRXSTRING);
RXSTRING rxreturn_value(PRXSTRING, PUCHAR, ULONG);
PUCHAR _make_hptr(RXSTRING);
- the first three functions handle allocating, freeing, and overwriting
RXSTRING structures. The rxstrlen and rxset_length functions retrieve
and set the length information contained in RXSTRING's without
affecting the associated memory for the string. The rxset_null function
sets the rxstring to null, similarly rxset_zerolen function sets the
rxstring to a zero length rxstring. The _make_hptr function returns a
pointer to the data buffer associated with an RXSTRING, if any
exists. The rxreturn_value function may be used to replace the logic
for figuring out if you should use the preallocated buffer for
return values or create your own buffer. The preallocated rxstring
return value is used with subcommands, external functions, and
variable pool.
IBM DISCLAIMS ALL WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING
WITHOUT LIMITATION, WARRANTIES OF FITNESS AND MERCHANTABILITY WITH
RESPECT TO THE INFORMATION IN THIS DOCUMENT. BY FURNISHING THIS
DOCUMENT, IBM GRANTS NO LICENSES TO ANY RELATED PATENTS OR COPYRIGHTS.
Copyright IBM Corporation, 1992,1996. All Rights Reserved.