123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- // Formatting library for C++ - mocks of POSIX functions
- //
- // Copyright (c) 2012 - present, Victor Zverovich
- // All rights reserved.
- //
- // For the license information refer to format.h.
- #ifndef FMT_POSIX_TEST_H
- #define FMT_POSIX_TEST_H
- #include <errno.h>
- #include <locale.h>
- #include <stdio.h>
- #ifdef __APPLE__
- # include <xlocale.h>
- #endif
- #ifdef _WIN32
- # include <windows.h>
- # include <locale> // for libc++ locale_win32.h
- #else
- # include <sys/param.h> // for FreeBSD version
- # include <sys/types.h> // for ssize_t
- #endif
- #ifndef _MSC_VER
- struct stat;
- #endif
- namespace test {
- #ifndef _MSC_VER
- // Size type for read and write.
- typedef size_t size_t;
- typedef ssize_t ssize_t;
- int open(const char* path, int oflag, int mode);
- int fstat(int fd, struct stat* buf);
- #else
- typedef unsigned size_t;
- typedef int ssize_t;
- errno_t sopen_s(int* pfh, const char* filename, int oflag, int shflag,
- int pmode);
- #endif
- #ifndef _WIN32
- long sysconf(int name);
- #else
- DWORD GetFileSize(HANDLE hFile, LPDWORD lpFileSizeHigh);
- #endif
- int close(int fildes);
- int dup(int fildes);
- int dup2(int fildes, int fildes2);
- FILE* fdopen(int fildes, const char* mode);
- ssize_t read(int fildes, void* buf, size_t nbyte);
- ssize_t write(int fildes, const void* buf, size_t nbyte);
- #ifndef _WIN32
- int pipe(int fildes[2]);
- #else
- int pipe(int* pfds, unsigned psize, int textmode);
- #endif
- FILE* fopen(const char* filename, const char* mode);
- int fclose(FILE* stream);
- int(fileno)(FILE* stream);
- #if defined(FMT_LOCALE) && (!defined(_WIN32) || defined(_LIBCPP_VERSION))
- locale_t newlocale(int category_mask, const char* locale, locale_t base);
- #endif
- } // namespace test
- #define FMT_SYSTEM(call) test::call
- #endif // FMT_POSIX_TEST_H
|