include: Added the msvcrt memory.h header.

oldstable
Alexandre Julliard 2008-12-09 11:30:53 +01:00
parent ce4d03318b
commit 956f19fa1b
3 changed files with 70 additions and 6 deletions

View File

@ -304,6 +304,7 @@ SRCDIR_INCLUDES = \
msvcrt/math.h \
msvcrt/mbctype.h \
msvcrt/mbstring.h \
msvcrt/memory.h \
msvcrt/process.h \
msvcrt/search.h \
msvcrt/setjmp.h \

View File

@ -0,0 +1,58 @@
/*
* Memory definitions
*
* Derived from the mingw header written by Colin Peters.
* Modified for Wine use by Jon Griffiths and Francois Gouget.
* This file is in the public domain.
*/
#ifndef __WINE_MEMORY_H
#define __WINE_MEMORY_H
#ifndef __WINE_USE_MSVCRT
#define __WINE_USE_MSVCRT
#endif
#if defined(__x86_64__) && !defined(_WIN64)
#define _WIN64
#endif
#if !defined(_MSC_VER) && !defined(__int64)
# ifdef _WIN64
# define __int64 long
# else
# define __int64 long long
# endif
#endif
#ifndef _SIZE_T_DEFINED
#ifdef _WIN64
typedef unsigned __int64 size_t;
#else
typedef unsigned int size_t;
#endif
#define _SIZE_T_DEFINED
#endif
#ifdef __cplusplus
extern "C" {
#endif
#ifndef _CRT_MEMORY_DEFINED
#define _CRT_MEMORY_DEFINED
void* memchr(const void*,int,size_t);
int memcmp(const void*,const void*,size_t);
void* memcpy(void*,const void*,size_t);
void* memset(void*,int,size_t);
void* _memccpy(void*,const void*,int,unsigned int);
int _memicmp(const void*,const void*,unsigned int);
static inline int memicmp(const void* s1, const void* s2, size_t len) { return _memicmp(s1, s2, len); }
static inline void* memccpy(void *s1, const void *s2, int c, size_t n) { return _memccpy(s1, s2, c, n); }
#endif /* _CRT_MEMORY_DEFINED */
#ifdef __cplusplus
}
#endif
#endif /* __WINE_MEMORY_H */

View File

@ -56,8 +56,19 @@ typedef unsigned int size_t;
extern "C" {
#endif
#ifndef _CRT_MEMORY_DEFINED
#define _CRT_MEMORY_DEFINED
void* memchr(const void*,int,size_t);
int memcmp(const void*,const void*,size_t);
void* memcpy(void*,const void*,size_t);
void* memset(void*,int,size_t);
void* _memccpy(void*,const void*,int,unsigned int);
int _memicmp(const void*,const void*,unsigned int);
static inline int memicmp(const void* s1, const void* s2, size_t len) { return _memicmp(s1, s2, len); }
static inline void* memccpy(void *s1, const void *s2, int c, size_t n) { return _memccpy(s1, s2, c, n); }
#endif /* _CRT_MEMORY_DEFINED */
int _strcmpi(const char*,const char*);
char* _strdup(const char*);
char* _strerror(const char*);
@ -70,11 +81,7 @@ char* _strrev(char*);
char* _strset(char*,int);
char* _strupr(char*);
void* memchr(const void*,int,size_t);
int memcmp(const void*,const void*,size_t);
void* memcpy(void*,const void*,size_t);
void* memmove(void*,const void*,size_t);
void* memset(void*,int,size_t);
char* strcat(char*,const char*);
char* strchr(const char*,int);
int strcmp(const char*,const char*);
@ -128,8 +135,6 @@ size_t wcsxfrm(wchar_t*,const wchar_t*,size_t);
#endif
static inline void* memccpy(void *s1, const void *s2, int c, size_t n) { return _memccpy(s1, s2, c, n); }
static inline int memicmp(const void* s1, const void* s2, size_t len) { return _memicmp(s1, s2, len); }
static inline int strcasecmp(const char* s1, const char* s2) { return _stricmp(s1, s2); }
static inline int strcmpi(const char* s1, const char* s2) { return _strcmpi(s1, s2); }
static inline char* strdup(const char* buf) { return _strdup(buf); }