home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / detk45he.zip / libc / memory.h < prev    next >
Text File  |  1999-03-15  |  7KB  |  149 lines

  1. #if __IBMC__ || __IBMCPP__
  2. #pragma info( none )
  3. #ifndef __CHKHDR__
  4.    #pragma info( none )
  5. #endif
  6. #pragma info( restore )
  7. #endif
  8.  
  9. #ifndef __memory_h
  10.    #define __memory_h
  11.  
  12.    #ifdef __cplusplus
  13.       extern "C" {
  14.    #endif
  15.  
  16.    #ifndef  _LNK_CONV
  17.       #if __IBMC__ || __IBMCPP__ || defined(_OPTLINK_SUPPORTED)
  18.          #define _LNK_CONV   _Optlink
  19.       #else
  20.          #define _LNK_CONV
  21.       #endif
  22.    #endif
  23.  
  24.    #ifndef _IMPORT
  25.       #ifdef __IMPORTLIB__
  26.          #define _IMPORT _Import
  27.       #else
  28.          #define _IMPORT
  29.       #endif
  30.    #endif
  31.  
  32.    /********************************************************************/
  33.    /*  <memory.h> header file                                          */
  34.    /*                                                                  */
  35.    /*  (C) Copyright IBM Corp. 1991, 1995.                             */
  36.    /*  - Licensed Material - Program-Property of IBM                   */
  37.    /*  - All rights reserved                                           */
  38.    /*                                                                  */
  39.    /********************************************************************/
  40.  
  41.    #if defined(__EXTENDED__)
  42.  
  43.       #ifndef __size_t
  44.          #define __size_t
  45.          typedef unsigned int size_t;
  46.       #endif
  47.  
  48.       #if __THW_INTEL__ && (__IBMC__ || __IBMCPP__)
  49.          void * _Builtin __memcpy( void *, const void *, size_t );
  50.          void * _Builtin __memchr( const void *, int, size_t );
  51.          int    _Builtin __memcmp( const void *, const void *, size_t );
  52.          void * _Builtin __memset( void *, int, size_t );
  53.          void * _Builtin __memmove( void *, const void *, size_t );
  54.  
  55.          #ifdef __cplusplus
  56.             inline void * _LNK_CONV memcpy( void * m1, const void * m2, size_t len )
  57.                                   { return __memcpy( m1, m2, len ); }
  58.             inline void * _LNK_CONV memchr( const void * m, int ch, size_t len )
  59.                                   { return __memchr( m, ch, len ); }
  60.             inline int    _LNK_CONV memcmp( const void * m1, const void * m2, size_t len )
  61.                                   { return __memcmp( m1, m2, len ); }
  62.             inline void * _LNK_CONV memset( void * m, int ch, size_t len )
  63.                                   { return __memset( m, ch, len ); }
  64.             inline void * _LNK_CONV memmove( void * m1, const void * m2, size_t len )
  65.                                   { return __memmove( m1, m2, len ); }
  66.          #else
  67.             void * _IMPORT _LNK_CONV memcpy( void *, const void *, size_t );
  68.             void * _IMPORT _LNK_CONV memchr( const void *, int, size_t );
  69.             int    _IMPORT _LNK_CONV memcmp( const void *, const void *, size_t );
  70.             void * _IMPORT _LNK_CONV memset( void *, int, size_t );
  71.             void * _IMPORT _LNK_CONV memmove( void *, const void *, size_t );
  72.  
  73.             #define memcpy( x, y, z )  __memcpy( (x), (y), (z) )
  74.             #define memchr( x, y, z )  __memchr( (x), (y), (z) )
  75.             #define memcmp( x, y, z )  __memcmp( (x), (y), (z) )
  76.             #define memset( x, y, z )  __memset( (x), (y), (z) )
  77.             #define memmove( x, y, z ) __memmove( (x), (y), (z) )
  78.          #endif
  79.       #elif __THW_PPC__ && (__IBMC__ || __IBMCPP__)
  80.          #ifdef __cplusplus
  81.             extern "builtin" void  *__memchr(const void *s, int c, size_t n);
  82.             extern "builtin" void  *__memcpy(void *s1, const void *s2, size_t n);
  83.             extern "builtin" void  *__memmove(void *s1, const void *s2, size_t n);
  84.             extern "builtin" int __memcmp(const void *s1, const void *s2, size_t n);
  85.             extern "builtin" void  *__memset(void *s, int c, size_t n);
  86.          #else
  87.             void  * _Builtin __memchr(const void *s, int c, size_t n);
  88.             void  * _Builtin __memcpy(void *s1, const void *s2, size_t n);
  89.             void *  _Builtin __memmove(void *s1, const void *s2, size_t n);
  90.             int     _Builtin __memcmp(const void *s1, const void *s2, size_t n);
  91.             void *  _Builtin __memset(void *s, int c, size_t n);
  92.          #endif
  93.          #if defined(__STR__)
  94.             #ifdef __cplusplus
  95.                inline void  *memchr(const void *s, int c, size_t n) { return __memchr (s, c, n); }
  96.                inline void  *memcpy(void *s1, const void *s2, size_t n) { return __memcpy (s1, s2, n); }
  97.                inline void  *memmove(void *s1, const void *s2, size_t n) { return __memmove (s1, s2, n); }
  98.                inline int    memcmp(const void *s1, const void *s2, size_t n) { return __memcmp (s1, s2, n); }
  99.                inline void  *memset(void *s, int c, size_t n) { return __memset(s, c, n); }
  100.             #else
  101.                #define memchr(__s1,__c,__n) __memchr(__s1,__c,__n)
  102.                #define memcpy(__s1,__s2,__n) __memcpy(__s1,__s2,__n)
  103.                #define memmove(__s1,__s2,__n) __memmove(__s1,__s2,__n)
  104.                #define memcmp(__s1,__s2,__n) __memcmp(__s1,__s2,__n)
  105.                #define memset(__s1,__c,__n) __memset(__s1,__c,__n)
  106.             #endif
  107.          #else
  108.             void * memcpy( void *, const void *, size_t );
  109.             void * memchr( const void *, int, size_t );
  110.             int    memcmp( const void *, const void *, size_t );
  111.             void * memset( void *, int, size_t );
  112.             void * memmove( void *, const void *, size_t );
  113.          #endif
  114.  
  115.       #else
  116.          void * _IMPORT _LNK_CONV memcpy( void *, const void *, size_t );
  117.          void * _IMPORT _LNK_CONV memchr( const void *, int, size_t );
  118.          int    _IMPORT _LNK_CONV memcmp( const void *, const void *, size_t );
  119.          void * _IMPORT _LNK_CONV memset( void *, int, size_t );
  120.          void * _IMPORT _LNK_CONV memmove( void *, const void *, size_t );
  121.       #endif
  122.  
  123.       void * _IMPORT _LNK_CONV memccpy( void *, void *, int, unsigned int );
  124.       int    _IMPORT _LNK_CONV memicmp( void *, void *, unsigned int );
  125.  
  126.       #define _fmemcpy( x, y, z )     memcpy( (x), (y), (z) )
  127.       #define _fmemchr( x, y, z )     memchr( (x), (y), (z) )
  128.       #define _fmemcmp( x, y, z )     memcmp( (x), (y), (z) )
  129.       #define _fmemset( x, y, z )     memset( (x), (y), (z) )
  130.       #define _fmemccpy( w, x, y, z ) memccpy( (w), (x), (y), (z) )
  131.       #define _fmemicmp( x, y, z )    memicmp( (x), (y), (z) )
  132.  
  133.    #endif
  134.  
  135.    #ifdef __cplusplus
  136.       }
  137.    #endif
  138.  
  139. #endif
  140.  
  141. #if __IBMC__ || __IBMCPP__
  142. #pragma info( none )
  143. #ifndef __CHKHDR__
  144.    #pragma info( restore )
  145. #endif
  146. #pragma info( restore )
  147. #endif
  148.  
  149.