1 /* Copyright (C) MariaDB Corporation Ab */ 2 #ifndef _OS_H_INCLUDED 3 #define _OS_H_INCLUDED 4 5 #if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__APPLE__) 6 typedef off_t off64_t; 7 #define lseek64(fd, offset, whence) lseek((fd), (offset), (whence)) 8 #define open64(path, flags, mode) open((path), (flags), (mode)) 9 #define ftruncate64(fd, length) ftruncate((fd), (length)) 10 #define O_LARGEFILE 0 11 #endif 12 13 #ifdef _AIX 14 #ifndef O_LARGEFILE 15 #define O_LARGEFILE 0 16 #endif 17 #endif 18 19 #if defined(_WIN32) 20 typedef __int64 BIGINT; 21 typedef _Null_terminated_ const char *PCSZ; 22 #else // !_WIN32 23 typedef longlong BIGINT; 24 #define FILE_BEGIN SEEK_SET 25 #define FILE_CURRENT SEEK_CUR 26 #define FILE_END SEEK_END 27 typedef const char *PCSZ; 28 #endif // !_WIN32 29 30 31 #if !defined(_WIN32) 32 typedef const void *LPCVOID; 33 typedef const char *LPCTSTR; 34 typedef const char *LPCSTR; 35 typedef unsigned char BYTE; 36 typedef char *LPSTR; 37 typedef char *LPTSTR; 38 typedef char *PSZ; 39 typedef long BOOL; 40 typedef int INT; 41 #if !defined(NODW) 42 /* 43 sqltypes.h from unixODBC incorrectly defines 44 DWORD as "unsigned int" instead of "unsigned long" on 64-bit platforms. 45 Add "#define NODW" into all files including this file that include 46 sqltypes.h (through sql.h or sqlext.h). 47 */ 48 typedef unsigned long DWORD; 49 #endif // !NODW 50 #undef HANDLE 51 typedef int HANDLE; 52 53 #define stricmp strcasecmp 54 #define _stricmp strcasecmp 55 #define strnicmp strncasecmp 56 #define _strnicmp strncasecmp 57 #ifdef PATH_MAX 58 #define _MAX_PATH PATH_MAX 59 #else 60 #define _MAX_PATH FN_REFLEN 61 #endif 62 #define _MAX_DRIVE 3 63 #define _MAX_DIR FN_REFLEN 64 #define _MAX_FNAME FN_HEADLEN 65 #define _MAX_EXT FN_EXTLEN 66 #define INVALID_HANDLE_VALUE (-1) 67 #define __stdcall 68 #endif /* !_WIN32 */ 69 70 #endif /* _OS_H_INCLUDED */ 71