/* IBM_PROLOG_BEGIN_TAG                                                   */
/* This is an automatically generated prolog.                             */
/*                                                                        */
/* bos72X src/bos/usr/include/strings.h 1.5.3.4                           */
/*                                                                        */
/* Licensed Materials - Property of IBM                                   */
/*                                                                        */
/* COPYRIGHT International Business Machines Corp. 1985,2021              */
/* All Rights Reserved                                                    */
/*                                                                        */
/* US Government Users Restricted Rights - Use, duplication or            */
/* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.      */
/*                                                                        */
/* IBM_PROLOG_END_TAG                                                     */
/* @(#)28  1.5.3.4  src/bos/usr/include/strings.h, libcstr, bos72X, x2021_25A9 6/4/21 03:15:44 */ 
/*
 * COMPONENT_NAME: (LIBCSTR) Standard C Library String Handling Functions
 *
 * FUNCTIONS: 
 *
 * ORIGINS: 27
 *
 * (C) COPYRIGHT International Business Machines Corp. 1985, 1995
 * All Rights Reserved
 * Licensed Materials - Property of IBM
 *
 * US Government Users Restricted Rights - Use, duplication or
 * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
 */

#ifndef _H_STRINGS
#define _H_STRINGS

#ifndef _H_STANDARDS
#include <standards.h>
#endif

#include <comp_macros.h>

#include <sys/types.h>

#ifdef __cplusplus
extern "C" {
#endif

#if _XOPEN_SOURCE_EXTENDED==1
#ifndef _LOCALE_T
#define _LOCALE_T
typedef void * locale_t;
#endif


#ifdef _NO_PROTO
#if (_XOPEN_SOURCE < 700) || defined(_ALL_SOURCE)
extern int _NOTHROW(bcmp, ());
extern void _NOTHROW(bcopy, ());
extern void _NOTHROW(bzero, ());
#ifndef _INDEX_MACROS
extern char *_NOTHROW(index, ());
extern char *_NOTHROW(rindex, ());
#endif
#endif

extern int  _NOTHROW(ffs, ());
#ifndef _STRCASECMP_DEF
#define _STRCASECMP_DEF
extern int  _NOTHROW(strcasecmp, ());
extern int  _NOTHROW(strncasecmp, ());
#endif /* _STRCASECMP_DEF */
#if (_XOPEN_SOURCE >= 700)
extern int  _NOTHROW(strcasecmp_l, ());
extern int  _NOTHROW(strncasecmp_l, ());
#endif
#else /* _NO_PROTO */
#if (_XOPEN_SOURCE < 700) || defined(_ALL_SOURCE)
extern int _NOTHROW(bcmp, (const void *, const void *, size_t));
extern void _NOTHROW(bcopy, (const void *, void *, size_t));
extern void _NOTHROW(bzero, (void *, size_t));
#ifndef _INDEX_MACROS
extern char *_NOTHROW(index, (const char *, int));
extern char *_NOTHROW(rindex, (const char *, int));
#endif
#endif
extern int  _NOTHROW(ffs, (int));
#ifndef _STRCASECMP_DEF
#define _STRCASECMP_DEF
extern int  _NOTHROW(strcasecmp, (const char *, const char *));
extern int  _NOTHROW(strncasecmp, (const char *, const char *, size_t));
#endif /* _STRCASECMP_DEF */
#if (_XOPEN_SOURCE >= 700)
extern int  _NOTHROW(strcasecmp_l, (const char *, const char *, locale_t));
extern int  _NOTHROW(strncasecmp_l, (const char *, const char *, size_t, locale_t));
#endif
#endif /* _NO_PROTO */

/* Defect 1086453 :Non UNIX03 routines should not visible in UNIX03 environment */
#ifdef _ALL_SOURCE
#ifdef _NO_PROTO
extern int  _NOTHROW(ffsl, ());
extern int  _NOTHROW(ffsll, ());
#else
extern int  _NOTHROW(ffsl, (long));
extern int  _NOTHROW(ffsll, (long long));
#endif
#endif

#if defined(__STR__) && !defined(__STR31__) && !defined(_INDEX_MACROS) && (_XOPEN_SOURCE < 700)
#define _INDEX_MACROS

#if !defined(__cplusplus)
#define index(__s1,__c) __strchr(__s1,__c)
#define rindex(__s1,__c) __strrchr(__s1,__c)
#else
extern "builtin" char *__strchr(const char *, int );
extern "builtin" char *__strrchr(const char *, int );

inline char  *_NOTHROW(index, (const char *__s, int __c))
{return __strchr(__s, __c);}
inline char  *_NOTHROW(rindex, (const char *__s, int __c))
{return __strrchr(__s, __c);}
#endif

#endif

#endif /* _XOPEN_SOURCE_EXTENDED */

#ifdef _ALL_SOURCE
#include <string.h>
#endif /* _ALL_SOURCE */

#ifdef __cplusplus
}
#endif

#endif /* _H_STRINGS */