home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / cset21v1.zip / IBMCPP / INCLUDE / STRING.H < prev    next >
Text File  |  1993-09-17  |  10KB  |  224 lines

  1. #pragma info( none )
  2. #ifndef __CHKHDR__
  3.    #pragma info( none )
  4. #endif
  5. #pragma info( restore )
  6.  
  7. #ifndef __string_h
  8.    #define __string_h
  9.  
  10.    #ifdef __cplusplus
  11.       extern "C" {
  12.    #endif
  13.  
  14.    /********************************************************************/
  15.    /*  <string.h> header file                                          */
  16.    /*                                                                  */
  17.    /*  Licensed Materials - Property of IBM                            */
  18.    /*                                                                  */
  19.    /*  IBM C/C++ Tools Version 2.01                                    */
  20.    /*  Copyright (C) International Business Machines Corp., 1991,1993  */
  21.    /*  All rights reserved                                             */
  22.    /*                                                                  */
  23.    /*  US Government Users Restricted Rights -                         */
  24.    /*  Use, duplication, or disclosure restricted                      */
  25.    /*  by GSA ADP Schedule Contract with IBM Corp.                     */
  26.    /*                                                                  */
  27.    /********************************************************************/
  28.  
  29.    #ifndef __size_t
  30.       #define __size_t
  31.       typedef unsigned int size_t;
  32.    #endif
  33.  
  34.    #ifndef NULL
  35.       #if (defined(__EXTENDED__)  || defined( __cplusplus ))
  36.          #define NULL 0
  37.       #else
  38.          #define NULL ((void *)0)
  39.       #endif
  40.    #endif
  41.  
  42.    char * _Builtin __strcat( char *, const char * );
  43.    char * _Builtin __strchr( const char *, int );
  44.    int    _Builtin __strcmp( const char *, const char * );
  45.    char * _Builtin __strcpy( char*, const char * );
  46.    size_t _Builtin __strlen( const char * );
  47.    char * _Builtin __strncat( char *, const char *, size_t );
  48.    int    _Builtin __strncmp( const char *, const char *, size_t );
  49.    char * _Builtin __strncpy( char *, const char *, size_t );
  50.    char * _Builtin __strrchr( const char *, int );
  51.    char * _Optlink strcat( char *, const char * );
  52.    char * _Optlink strchr( const char *, int );
  53.    int    _Optlink strcmp( const char *, const char * );
  54.    char * _Optlink strcpy( char *, const char * );
  55.    size_t _Optlink strlen( const char * );
  56.    char * _Optlink strncat( char *, const char *, size_t );
  57.    int    _Optlink strncmp( const char *, const char *, size_t );
  58.    char * _Optlink strncpy( char *, const char *, size_t );
  59.    char * _Optlink strrchr( const char *, int );
  60.    int    _Optlink strcoll( const char *, const char * );
  61.    size_t _Optlink strcspn( const char *, const char * );
  62.    char * _Optlink strerror( int );
  63.    char * _Optlink strpbrk( const char *, const char * );
  64.    size_t _Optlink strspn( const char *, const char * );
  65.    char * _Optlink strstr( const char *, const char * );
  66.    char * _Optlink strtok( char*, const char * );
  67.    size_t _Optlink strxfrm( char *, const char *, size_t );
  68.  
  69.    #ifdef __cplusplus
  70.       inline char * strcat( char * s1, const char * s2 )
  71.                      { return __strcat( s1, s2 ); }
  72.       inline char * strchr( const char * s, int ch )
  73.                      { return __strchr( s, ch ); }
  74.       inline int    strcmp( const char * s1, const char * s2 )
  75.                      { return __strcmp( s1, s2 ); }
  76.       inline char * strcpy( char * s1, const char * s2 )
  77.                      { return __strcpy( s1, s2 ); }
  78.       inline size_t strlen( const char * s )
  79.                      { return __strlen( s ); }
  80.       inline char * strncat( char * s1, const char * s2, size_t len )
  81.                      { return __strncat( s1, s2, len ); }
  82.       inline int    strncmp( const char * s1, const char * s2, size_t len )
  83.                      { return __strncmp( s1, s2, len ); }
  84.       inline char * strncpy( char * s1, const char * s2, size_t len )
  85.                      { return __strncpy( s1, s2, len ); }
  86.       inline char * strrchr( const char * s1, int ch )
  87.                      { return __strrchr( s1, ch ); }
  88.    #else
  89.       #pragma info( none )
  90.       #define strcat( x, y )     __strcat( (x), (y) )
  91.       #define strchr( x, y )     __strchr( (x), (y) )
  92.       #define strcmp( x, y )     __strcmp( (x), (y) )
  93.       #define strcpy( x, y )     __strcpy( (x), (y) )
  94.       #define strlen( x )        __strlen( (x) )
  95.       #define strncat( x, y, z ) __strncat( (x), (y), (z) )
  96.       #define strncmp( x, y, z ) __strncmp( (x), (y), (z) )
  97.       #define strncpy( x, y, z ) __strncpy( (x), (y), (z) )
  98.       #define strrchr( x, y )    __strrchr( (x), (y) )
  99.       #pragma info( restore )
  100.    #endif
  101.  
  102.    #ifndef __memory_h
  103.       #define __memory_h
  104.  
  105.       void * _Builtin __memcpy( void *, const void *, size_t );
  106.       void * _Builtin __memchr( const void *, int, size_t );
  107.       int    _Builtin __memcmp( const void *, const void *, size_t );
  108.       void * _Builtin __memset( void *, int, size_t );
  109.       void * _Builtin __memmove( void *, const void *, size_t );
  110.  
  111.       void * _Optlink memcpy( void *, const void *, size_t );
  112.       void * _Optlink memchr( const void *, int, size_t );
  113.       int    _Optlink memcmp( const void *, const void *, size_t );
  114.       void * _Optlink memset( void *, int, size_t );
  115.       void * _Optlink memmove( void *, const void *, size_t );
  116.  
  117.       #ifdef __cplusplus
  118.          inline void * memcpy( void * m1, const void * m2, size_t len )
  119.                         { return __memcpy( m1, m2, len ); }
  120.          inline void * memchr( const void * m, int ch, size_t len )
  121.                         { return __memchr( m, ch, len ); }
  122.          inline int    memcmp( const void * m1, const void * m2, size_t len )
  123.                         { return __memcmp( m1, m2, len ); }
  124.          inline void * memset( void * m, int ch, size_t len )
  125.                         { return __memset( m, ch, len ); }
  126.          inline void * memmove( void * m1, const void * m2, size_t len )
  127.                         { return __memmove( m1, m2, len ); }
  128.       #else
  129.          #pragma info( none )
  130.          #define memcpy( x, y, z )  __memcpy( (x), (y), (z) )
  131.          #define memchr( x, y, z )  __memchr( (x), (y), (z) )
  132.          #define memcmp( x, y, z )  __memcmp( (x), (y), (z) )
  133.          #define memset( x, y, z )  __memset( (x), (y), (z) )
  134.          #define memmove( x, y, z ) __memmove( (x), (y), (z) )
  135.          #pragma info( restore )
  136.       #endif
  137.  
  138.       #if defined( __EXTENDED__ )
  139.  
  140.          void * _Optlink memccpy( void *, void *, int, unsigned int );
  141.          int    _Optlink memicmp( void *, void *, unsigned int );
  142.  
  143.          #pragma info( none )
  144.          #define _fmemcpy( x, y, z )     memcpy( (x), (y), (z) )
  145.          #define _fmemchr( x, y, z )     memchr( (x), (y), (z) )
  146.          #define _fmemcmp( x, y, z )     memcmp( (x), (y), (z) )
  147.          #define _fmemset( x, y, z )     memset( (x), (y), (z) )
  148.          #define _fmemccpy( w, x, y, z ) memccpy( (w), (x), (y), (z) )
  149.          #define _fmemicmp( x, y, z )    memicmp( (x), (y), (z) )
  150.          #pragma info( restore )
  151.  
  152.       #endif
  153.  
  154.    #endif
  155.  
  156.    #if defined(__EXTENDED__)
  157.  
  158.       char * _Optlink strdup( const char * );
  159.       int    _Optlink stricmp( const char *, const char * );
  160.       char * _Optlink strlwr( char * );
  161.       int    _Optlink strnicmp( const char *, const char *, size_t );
  162.       char * _Optlink strupr( char * );
  163.  
  164.       int    _Optlink strcmpi( const char *, const char * );
  165.       char * _Optlink strrev( char * );
  166.       char * _Optlink strset( char *, int );
  167.       char * _Optlink strnset( char *, int, size_t );
  168.       char * _Optlink _strerror( char * );
  169.  
  170.       #define _fmemmove( x, y, z )  memmove( (x), (y), (z) )
  171.       #define _fstrcat( x, y )      strcat( (x), (y) )
  172.       #define _fstrchr( x, y )      strchr( (x), (y) )
  173.       #define _fstrcmp( x, y )      strcmp( (x), (y) )
  174.       #define _fstrcpy( x, y )      strcpy( (x), (y) )
  175.       #define _fstrlen( x )         strlen( (x) )
  176.       #define _fstrncat( x, y, z )  strncat( (x), (y), (z) )
  177.       #define _fstrncmp( x, y, z )  strncmp( (x), (y), (z) )
  178.       #define _fstrncpy( x, y, z )  strncpy( (x), (y), (z) )
  179.       #define _fstrrchr( x, y )     strrchr( (x), (y) )
  180.  
  181.       size_t _Optlink _fstrcspn( const char *, const char * );
  182.       char * _Optlink _fstrdup( const char * );
  183.       char * _Optlink _nstrdup( const char * );
  184.       int    _Optlink _fstricmp( const char *, const char * );
  185.       char * _Optlink _fstrlwr( char * );
  186.       int    _Optlink _fstrnicmp( const char *, const char *, size_t );
  187.       char * _Optlink _fstrnset( char *, int, size_t );
  188.       char * _Optlink _fstrpbrk( const char *, const char * );
  189.       char * _Optlink _fstrrev( char * );
  190.       char * _Optlink _fstrset( char *, int );
  191.       size_t _Optlink _fstrspn( const char *, const char * );
  192.       char * _Optlink _fstrstr( const char *, const char * );
  193.       char * _Optlink _fstrtok( char*, const char * );
  194.       char * _Optlink _fstrupr( char * );
  195.  
  196.       #pragma map( _fstrcspn , "strcspn"  )
  197.       #pragma map( _fstrdup  , "strdup"   )
  198.       #pragma map( _nstrdup  , "strdup"   )
  199.       #pragma map( _fstricmp , "stricmp"  )
  200.       #pragma map( _fstrlwr  , "strlwr"   )
  201.       #pragma map( _fstrnicmp, "strnicmp" )
  202.       #pragma map( _fstrnset , "strnset"  )
  203.       #pragma map( _fstrpbrk , "strpbrk"  )
  204.       #pragma map( _fstrrev  , "strrev"   )
  205.       #pragma map( _fstrset  , "strset"   )
  206.       #pragma map( _fstrspn  , "strspn"   )
  207.       #pragma map( _fstrstr  , "strstr"   )
  208.       #pragma map( _fstrtok  , "strtok"   )
  209.       #pragma map( _fstrupr  , "strupr"   )
  210.  
  211.    #endif
  212.  
  213.    #ifdef __cplusplus
  214.       }
  215.    #endif
  216.  
  217. #endif
  218.  
  219. #pragma info( none )
  220. #ifndef __CHKHDR__
  221.    #pragma info( restore )
  222. #endif
  223. #pragma info( restore )
  224.