153 lines
4.3 KiB
C
153 lines
4.3 KiB
C
|
/* ----> 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
|
||
|
|
||
|
|