home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / memory.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-02-20  |  6.5 KB  |  154 lines

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