/* ----> DO NOT REMOVE THE FOLLOWING NOTICE <---- | |
Copyright (c) 2014-2015 Datalight, Inc. | |
All Rights Reserved Worldwide. | |
This program is free software; you can redistribute it and/or modify | |
it under the terms of the GNU General Public License as published by | |
the Free Software Foundation; use version 2 of the License. | |
This program is distributed in the hope that it will be useful, | |
but "AS-IS," WITHOUT ANY WARRANTY; without even the implied warranty | |
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
GNU General Public License for more details. | |
You should have received a copy of the GNU General Public License along | |
with this program; if not, write to the Free Software Foundation, Inc., | |
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
*/ | |
/* Businesses and individuals that for commercial or other reasons cannot | |
comply with the terms of the GPLv2 license may obtain a commercial license | |
before incorporating Reliance Edge into proprietary software for | |
distribution in any form. Visit http://www.datalight.com/reliance-edge for | |
more information. | |
*/ | |
/** @file | |
@brief Defines macros which make the Reliance Edge POSIX-like API look more | |
like the actual POSIX API. | |
This file is intended for porting POSIX file system tests; it is not | |
intended for application use. | |
*/ | |
#ifndef REDPOSIXCOMPAT_H | |
#define REDPOSIXCOMPAT_H | |
#ifndef assert | |
#define assert(x) REDASSERT(x) | |
#endif | |
#undef O_RDONLY | |
#undef O_WRONLY | |
#undef O_RDWR | |
#undef O_APPEND | |
#undef O_CREAT | |
#undef O_EXCL | |
#undef O_TRUNC | |
#define O_RDONLY RED_O_RDONLY | |
#define O_WRONLY RED_O_WRONLY | |
#define O_RDWR RED_O_RDWR | |
#define O_APPEND RED_O_APPEND | |
#define O_CREAT RED_O_CREAT | |
#define O_EXCL RED_O_EXCL | |
#define O_TRUNC RED_O_TRUNC | |
#undef SEEK_SET | |
#undef SEEK_CUR | |
#undef SEEK_END | |
#define SEEK_SET RED_SEEK_SET | |
#define SEEK_CUR RED_SEEK_CUR | |
#define SEEK_END RED_SEEK_END | |
/* Old-fashioned Linux seek names. | |
*/ | |
#undef L_SET | |
#undef L_INCR | |
#undef L_XTND | |
#define L_SET SEEK_SET | |
#define L_INCR SEEK_CUR | |
#define L_XTND SEEK_END | |
#undef S_IFDIR | |
#undef S_IFREG | |
#undef S_ISDIR | |
#undef S_ISREG | |
#define S_IFDIR RED_S_IFDIR | |
#define S_IFREG RED_S_IFREG | |
#define S_ISDIR(m) RED_S_ISDIR(m) | |
#define S_ISREG(m) RED_S_ISREG(m) | |
#undef ST_RDONLY | |
#undef ST_NOSUID | |
#define ST_RDONLY RED_ST_RDONLY | |
#define ST_NOSUID RED_ST_NOSUID | |
#undef open | |
#undef creat | |
#undef unlink | |
#undef mkdir | |
#undef rmdir | |
#undef rename | |
#undef link | |
#undef close | |
#undef read | |
#undef write | |
#undef fsync | |
#undef fdatasync | |
#undef lseek | |
#undef ftruncate | |
#undef fstat | |
#undef opendir | |
#undef readdir | |
#undef rewinddir | |
#undef closedir | |
#define open(path, oflag) red_open(path, oflag) | |
#define creat(path, mode) open(path, O_WRONLY|O_CREAT|O_TRUNC) | |
#define unlink(path) red_unlink(path) | |
#define mkdir(path) red_mkdir(path) | |
#define rmdir(path) red_rmdir(path) | |
#define rename(old, new) red_rename(old, new) | |
#define link(path, hardlink) red_link(path, hardlink) | |
#define close(fd) red_close(fd) | |
#define read(fd, buf, len) red_read(fd, buf, len) | |
#define write(fd, buf, len) red_write(fd, buf, len) | |
#define fsync(fd) red_fsync(fd) | |
#define fdatasync(fd) fsync(fd) | |
#define lseek(fd, offset, whence) red_lseek(fd, offset, whence) | |
#define lseek64(fd, offset, whence) lseek(fd, offset, whence) | |
#define ftruncate(fd, size) red_ftruncate(fd, size) | |
#define fstat(fd, stat) red_fstat(fd, stat) | |
#define fstat64(fd, stat) fstat(fd, stat) | |
#define opendir(path) red_opendir(path) | |
#define readdir(dirp) red_readdir(dirp) | |
#define readdir64(dirp) readdir(dirp) | |
#define rewinddir(dirp) red_rewinddir(dirp) | |
#define closedir(dirp) red_closedir(dirp) | |
#undef DIR | |
#define DIR REDDIR | |
#undef errno | |
#define errno (*(int *)red_errnoptr()) | |
#undef memcpy | |
#undef memmove | |
#undef memset | |
#undef strlen | |
#undef strncmp | |
#undef strcmp | |
#undef strncpy | |
#define memcpy(d, s, l) RedMemCpy(d, s, (uint32_t)(l)) | |
#define memmove(d, s, l) RedMemMove(d, s, (uint32_t)(l)) | |
#define memset(d, c, l) RedMemSet(d, (uint8_t)(c), (uint32_t)(l)) | |
#define strlen(s) RedStrLen(s) | |
#define strncmp(s1, s2, l) RedStrNCmp(s1, s2, (uint32_t)(l)) | |
#define strcmp(s1, s2) RedStrCmp(s1, s2) | |
#define strncpy(d, s, l) RedStrNCpy(d, s, (uint32_t)(l)) | |
#endif | |