This is p-string.h in view mode; [Download] [Up]
/*+++*
* RCS $Id: p-string.h,v 1.2 1993/02/02 21:00:42 gerben Exp $
* title: p-string.h
* abstract: portable Posix-compliant <string.h>.
* author: T.R.Hageman, Groningen, The Netherlands
* created: November 1992
* modified: (see RCS Log at end)
* copyleft:
*
* Copyright (C) 1992 Tom R. Hageman.
*
* This is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this software; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* description:
*
* This is a Posix-compatible version of <string.h> for both Posix
* and non-Posix systems.
*
* Notes:
* o The presence of a prototype here does not guarantee the existence
* of the corresponding function in the library.
*---*/
#ifndef _P_STRING_H_
#define _P_STRING_H_ 0x100
#ifndef _PORTDEFS_H_
# include "portdefs.h"
#endif
#if _ANSI_HEADERS_ || _I_STRING
# include <string.h>
#else
# if _I_STRINGS
# include <strings.h>
# endif
#endif
#if NEED_MEMORY_H /* Autoconfig. */
# include <memory.h> /* for memcpy() et al. */
#endif
#if !_ANSI_LIBRARY_ /* {{debatable...}} */
#if !__NO_PROTO__
# if !__STRICT_POSIX__
# ifndef memchr
extern void_* memchr __(( const void_*_(p1), int _(c), size_t _(n) ));
# endif
# ifndef memcmp
# if !__NO_TRIV_PROTO__
extern int memcmp __(( const void_*_(p1), const void_*_(p2), size_t _(n) ));
# endif
# endif
# ifndef memcpy
extern void_* memcpy __(( void_*_(to), const void_*_(from), size_t _(n) ));
# endif
# ifndef memmove
extern void_* memmove __(( void_*_(to), const void_*_(from), size_t _(n) ));
# endif
# ifndef memset
extern void_* memset __(( void_*_(to), int _(c), size_t _(n) ));
# endif
# if !__NO_TRIV_PROTO__
extern int strcoll __(( const char *_(s1), const char *_(s2) ));
extern size_t strxfrm __(( char *_(to), const char *_(from), size_t _(n) ));
# endif
extern char * strerror __(( int _(errnum) ));
# endif /* __STRICT_POSIX__ */
extern char * strcat __(( char *_(to), const char *_(from) ));
extern char * strchr __(( const char *_(s), int _(c) ));
# if !__NO_TRIV_PROTO__
extern int strcmp __(( const char *_(s1), const char *_(s2) ));
# endif
extern char * strcpy __(( char *_(to), const char *_(from) ));
# if !__NO_TRIV_PROTO__
extern size_t strcspn __(( const char *_(s), const char *_(not_in_set) ));
extern size_t strlen __(( const char *_(s) ));
# endif
extern char * strncat __(( char *_(to), const char *_(from), size_t _(n) ));
# if !__NO_TRIV_PROTO__
extern int strncmp __(( const char *_(s1), const char *_(s2), size_t _(n) ));
# endif
extern char * strncpy __(( char *_(to), const char *_(from), size_t _(n) ));
extern char * strpbrk __(( const char *_(s), const char *_(in_set) ));
extern char * strrchr __(( const char *_(s), int _(c) ));
# if !__NO_TRIV_PROTO__
extern size_t strspn __(( const char *_(s), const char *_(in_set) ));
# endif
extern char * strstr __(( const char *_(s), const char *_(substr) ));
extern char * strtok __(( char *_(s), const char *_(delimiters) ));
#endif /* __NO_PROTO__ */
#endif /* _ANSI_LIBRARY_ */
#endif /* _P_STRING_H_ */
/*======================================================================*
* $Log: p-string.h,v $
* Revision 1.2 1993/02/02 21:00:42 gerben
* *** empty log message ***
*
* Revision 1.1 1992/12/18 22:57:44 tom
* Initial revision
*
*======================================================================*/
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.