#ifndef __STRINGS_LOADED #define __STRINGS_LOADED 1 #pragma __nostandard #include #if __CRTL_VER >= 70000000 /* Supported beginning in OpenVMS V7.0 */ /**************************************************************************** ** ** - String Handling ** ***************************************************************************** ** Header introduced by the X/Open CAE Specification, Issue 4, Version 2 ***************************************************************************** ** ** Copyright 2000 Compaq Computer Corporation ** ** Compaq and the Compaq logo Registered in U.S. Patent and Trademark Office. ** ** Confidential computer software. Valid license from Compaq required for ** possession, use or copying. Consistent with FAR 12.211 and 12.212, ** Commercial Computer Software, Computer Software Documentation, and ** Technical Data for Commercial Items are licensed to the U.S. Government ** under vendor's standard commercial license. ** ****************************************************************************** */ #ifdef __cplusplus extern "C" { #endif #if __INITIAL_POINTER_SIZE # pragma __pointer_size __save # pragma __pointer_size 64 #endif /* ** Create 'public' typedefs, structure definitions, and definitions which are ** in this header file which are either not sensitive to pointer size or are ** required to be short pointers. */ #ifndef __SIZE_T # define __SIZE_T 1 typedef __size_t size_t; #endif /* ** X/Open extended definitions which accept 32 or 64 bit pointers */ int bcmp (const void * __s1, const void * __s2, __size_t __n); void (bcopy) (const void * __s1, void * __s2, __size_t __n); void (bzero) (void * __s1, __size_t __n); int ffs (int); int strcasecmp (const char *, const char *); int strncasecmp (const char *, const char *, __size_t); /* ** The following functions have interfaces of XXX, _XXX32, and _XXX64 due only ** to the fact that the return argument is a pointer that is relative to one ** of the arguments. */ #if __INITIAL_POINTER_SIZE == 32 #pragma __pointer_size 32 #endif char *index (const char *, int); char *rindex (const char *, int); #if __INITIAL_POINTER_SIZE == 32 #pragma __pointer_size 64 #endif /* ** DEC C extensions (64-bit interfaces are extensions) */ #if __INITIAL_POINTER_SIZE && !defined _XOPEN_SOURCE_EXTENDED # pragma __pointer_size 32 char *_index32 (const char *, int); char *_rindex32 (const char *, int); # pragma __pointer_size 64 char *_index64 (const char *, int); char *_rindex64 (const char *, int); #endif /* ** DEC C Performance (Builtins) ** ** Certain DEC C functions are available as compiler builtins. Using ** the builtins offer performance improvements and are enabled here ** for all programs including this header file. */ #if defined(__ALPHA) # if __INITIAL_POINTER_SIZE == 32 # pragma __pointer_size 32 # endif void *__MEMMOVE (void *__s1, const void *__s2, __size_t __n); void *__MEMSET (void *__s, int __c, __size_t __n); # define bcopy(__x, __y, __z) __MEMMOVE(__y, __x, __z) # define bzero(__x, __y) __MEMSET(__x, 0, __y) #endif /* ** Restore the users pointer context */ #if __INITIAL_POINTER_SIZE # pragma __pointer_size __restore #endif #ifdef __cplusplus } #endif #endif /* OpenVMS V7.0 */ #pragma __standard #endif /* __STRINGS_LOADED */