git repos / blockattack-game

blame: source/misc/embedded_libs/fmt-8.1.1/test/posix-mock.h

normal view · raw

f8deb5b9 Poul Sander 2022-01-15 13:55 1
// Formatting library for C++ - mocks of POSIX functions
f8deb5b9 Poul Sander 2022-01-15 13:55 2
//
f8deb5b9 Poul Sander 2022-01-15 13:55 3
// Copyright (c) 2012 - present, Victor Zverovich
f8deb5b9 Poul Sander 2022-01-15 13:55 4
// All rights reserved.
f8deb5b9 Poul Sander 2022-01-15 13:55 5
//
f8deb5b9 Poul Sander 2022-01-15 13:55 6
// For the license information refer to format.h.
f8deb5b9 Poul Sander 2022-01-15 13:55 7
f8deb5b9 Poul Sander 2022-01-15 13:55 8
#ifndef FMT_POSIX_TEST_H
f8deb5b9 Poul Sander 2022-01-15 13:55 9
#define FMT_POSIX_TEST_H
f8deb5b9 Poul Sander 2022-01-15 13:55 10
f8deb5b9 Poul Sander 2022-01-15 13:55 11
#include <errno.h>
f8deb5b9 Poul Sander 2022-01-15 13:55 12
#include <locale.h>
f8deb5b9 Poul Sander 2022-01-15 13:55 13
#include <stdio.h>
f8deb5b9 Poul Sander 2022-01-15 13:55 14
#ifdef __APPLE__
f8deb5b9 Poul Sander 2022-01-15 13:55 15
#  include <xlocale.h>
f8deb5b9 Poul Sander 2022-01-15 13:55 16
#endif
f8deb5b9 Poul Sander 2022-01-15 13:55 17
f8deb5b9 Poul Sander 2022-01-15 13:55 18
#ifdef _WIN32
f8deb5b9 Poul Sander 2022-01-15 13:55 19
#  include <windows.h>
f8deb5b9 Poul Sander 2022-01-15 13:55 20
#else
f8deb5b9 Poul Sander 2022-01-15 13:55 21
#  include <sys/param.h>  // for FreeBSD version
f8deb5b9 Poul Sander 2022-01-15 13:55 22
#  include <sys/types.h>  // for ssize_t
f8deb5b9 Poul Sander 2022-01-15 13:55 23
#endif
f8deb5b9 Poul Sander 2022-01-15 13:55 24
f8deb5b9 Poul Sander 2022-01-15 13:55 25
#ifndef _MSC_VER
f8deb5b9 Poul Sander 2022-01-15 13:55 26
struct stat;
f8deb5b9 Poul Sander 2022-01-15 13:55 27
#endif
f8deb5b9 Poul Sander 2022-01-15 13:55 28
f8deb5b9 Poul Sander 2022-01-15 13:55 29
namespace test {
f8deb5b9 Poul Sander 2022-01-15 13:55 30
f8deb5b9 Poul Sander 2022-01-15 13:55 31
#ifndef _MSC_VER
f8deb5b9 Poul Sander 2022-01-15 13:55 32
// Size type for read and write.
f8deb5b9 Poul Sander 2022-01-15 13:55 33
typedef size_t size_t;
f8deb5b9 Poul Sander 2022-01-15 13:55 34
typedef ssize_t ssize_t;
f8deb5b9 Poul Sander 2022-01-15 13:55 35
int open(const char* path, int oflag, int mode);
f8deb5b9 Poul Sander 2022-01-15 13:55 36
int fstat(int fd, struct stat* buf);
f8deb5b9 Poul Sander 2022-01-15 13:55 37
#else
f8deb5b9 Poul Sander 2022-01-15 13:55 38
typedef unsigned size_t;
f8deb5b9 Poul Sander 2022-01-15 13:55 39
typedef int ssize_t;
f8deb5b9 Poul Sander 2022-01-15 13:55 40
errno_t sopen_s(int* pfh, const char* filename, int oflag, int shflag,
f8deb5b9 Poul Sander 2022-01-15 13:55 41
                int pmode);
f8deb5b9 Poul Sander 2022-01-15 13:55 42
#endif
f8deb5b9 Poul Sander 2022-01-15 13:55 43
f8deb5b9 Poul Sander 2022-01-15 13:55 44
#ifndef _WIN32
f8deb5b9 Poul Sander 2022-01-15 13:55 45
long sysconf(int name);
f8deb5b9 Poul Sander 2022-01-15 13:55 46
#else
f8deb5b9 Poul Sander 2022-01-15 13:55 47
DWORD GetFileSize(HANDLE hFile, LPDWORD lpFileSizeHigh);
f8deb5b9 Poul Sander 2022-01-15 13:55 48
#endif
f8deb5b9 Poul Sander 2022-01-15 13:55 49
f8deb5b9 Poul Sander 2022-01-15 13:55 50
int close(int fildes);
f8deb5b9 Poul Sander 2022-01-15 13:55 51
f8deb5b9 Poul Sander 2022-01-15 13:55 52
int dup(int fildes);
f8deb5b9 Poul Sander 2022-01-15 13:55 53
int dup2(int fildes, int fildes2);
f8deb5b9 Poul Sander 2022-01-15 13:55 54
f8deb5b9 Poul Sander 2022-01-15 13:55 55
FILE* fdopen(int fildes, const char* mode);
f8deb5b9 Poul Sander 2022-01-15 13:55 56
f8deb5b9 Poul Sander 2022-01-15 13:55 57
ssize_t read(int fildes, void* buf, size_t nbyte);
f8deb5b9 Poul Sander 2022-01-15 13:55 58
ssize_t write(int fildes, const void* buf, size_t nbyte);
f8deb5b9 Poul Sander 2022-01-15 13:55 59
f8deb5b9 Poul Sander 2022-01-15 13:55 60
#ifndef _WIN32
f8deb5b9 Poul Sander 2022-01-15 13:55 61
int pipe(int fildes[2]);
f8deb5b9 Poul Sander 2022-01-15 13:55 62
#else
f8deb5b9 Poul Sander 2022-01-15 13:55 63
int pipe(int* pfds, unsigned psize, int textmode);
f8deb5b9 Poul Sander 2022-01-15 13:55 64
#endif
f8deb5b9 Poul Sander 2022-01-15 13:55 65
f8deb5b9 Poul Sander 2022-01-15 13:55 66
FILE* fopen(const char* filename, const char* mode);
f8deb5b9 Poul Sander 2022-01-15 13:55 67
int fclose(FILE* stream);
f8deb5b9 Poul Sander 2022-01-15 13:55 68
int(fileno)(FILE* stream);
f8deb5b9 Poul Sander 2022-01-15 13:55 69
f8deb5b9 Poul Sander 2022-01-15 13:55 70
#if defined(FMT_LOCALE) && !defined(_WIN32)
f8deb5b9 Poul Sander 2022-01-15 13:55 71
locale_t newlocale(int category_mask, const char* locale, locale_t base);
f8deb5b9 Poul Sander 2022-01-15 13:55 72
#endif
f8deb5b9 Poul Sander 2022-01-15 13:55 73
}  // namespace test
f8deb5b9 Poul Sander 2022-01-15 13:55 74
f8deb5b9 Poul Sander 2022-01-15 13:55 75
#define FMT_SYSTEM(call) test::call
f8deb5b9 Poul Sander 2022-01-15 13:55 76
f8deb5b9 Poul Sander 2022-01-15 13:55 77
#endif  // FMT_POSIX_TEST_H
1970-01-01 00:00 78