summaryrefslogtreecommitdiff
path: root/cesar/maximus/prototest/inc/syscall.h
diff options
context:
space:
mode:
Diffstat (limited to 'cesar/maximus/prototest/inc/syscall.h')
-rw-r--r--cesar/maximus/prototest/inc/syscall.h134
1 files changed, 134 insertions, 0 deletions
diff --git a/cesar/maximus/prototest/inc/syscall.h b/cesar/maximus/prototest/inc/syscall.h
new file mode 100644
index 0000000000..dcaa3b0488
--- /dev/null
+++ b/cesar/maximus/prototest/inc/syscall.h
@@ -0,0 +1,134 @@
+#ifndef syscall_h
+#define syscall_h
+/* Cesar project {{{
+ *
+ * Copyright (C) 2007 Spidcom
+ *
+ * <<<Licence>>>
+ *
+ * }}} */
+/**
+ * \file syscall.h
+ * \brief Linux System Calls redefinition
+ * \ingroup maximus/prototest
+ *
+ * Redefinition of Linux System Calls
+ */
+#include "ecos/packages/hal/synth/arch/current/include/hal_io.h"
+
+/** flags redefinition */
+
+/* open/fcntl flags */
+#define O_RDONLY CYG_HAL_SYS_O_RDONLY
+#define O_WRONLY CYG_HAL_SYS_O_WRONLY
+#define O_RDWR CYG_HAL_SYS_O_RDWR
+#define O_CREAT CYG_HAL_SYS_O_CREAT
+#define O_EXCL CYG_HAL_SYS_O_EXCL
+#define O_NOCTTY CYG_HAL_SYS_O_NOCTTY
+#define O_TRUNC CYG_HAL_SYS_O_TRUNC
+#define O_APPEND CYG_HAL_SYS_O_APPEND
+#define O_NONBLOCK CYG_HAL_SYS_O_NONBLOCK
+#define O_NDELAY CYG_HAL_SYS_O_NDELAY
+#define O_SYNC CYG_HAL_SYS_O_SYNC
+#define O_FSYNC CYG_HAL_SYS_O_FSYNC
+#define O_ASYN CYG_HAL_SYS_O_ASYNC
+
+/* open mode flags */
+#define S_IRUSR CYG_HAL_SYS_S_IRUSR
+#define S_IREAD CYG_HAL_SYS_S_IREAD
+#define S_IWUSR CYG_HAL_SYS_S_IWUSR
+#define S_IWRITE CYG_HAL_SYS_S_IWRITE
+#define S_IXUSR CYG_HAL_SYS_S_IXUSR
+#define S_IEXEC CYG_HAL_SYS_S_IEXEC
+#define S_IRWXU CYG_HAL_SYS_S_IRWXU
+#define S_IRWXG CYG_HAL_SYS_S_IRWXG
+#define S_IRGRP CYG_HAL_SYS_S_IRGRP
+#define S_IWGRP CYG_HAL_SYS_S_IWGRP
+#define S_IXGRP CYG_HAL_SYS_S_IXGRP
+#define S_IRWXO CYG_HAL_SYS_S_IRWXO
+#define S_IROTH CYG_HAL_SYS_S_IROTH
+#define S_IWOTH CYG_HAL_SYS_S_IWOTH
+#define S_IXOTH CYG_HAL_SYS_S_IXOTH
+
+/* stat flags */
+#define S_IFMT CYG_HAL_SYS_S_IFMT
+#define S_IFSOCK CYG_HAL_SYS_S_IFSOCK
+#define S_IFLNK CYG_HAL_SYS_S_IFLNK
+#define S_IFREG CYG_HAL_SYS_S_IFREG
+#define S_IFBLK CYG_HAL_SYS_S_IFBLK
+#define S_IFDIR CYG_HAL_SYS_S_IFDIR
+#define S_IFCHR CYG_HAL_SYS_S_IFCHR
+#define S_IFIFO CYG_HAL_SYS_S_IFIFO
+#define S_ISUID CYG_HAL_SYS_S_ISUID
+#define S_ISGID CYG_HAL_SYS_S_ISGID
+#define S_ISVTX CYG_HAL_SYS_S_ISVTX
+
+/** functions redefinition */
+
+static inline int open(const char *pathname, int flags, mode_t mode)
+{
+ int result;
+ if((result = cyg_hal_sys_open(pathname, flags, mode)) < 0)
+ {
+ errno = -result;
+ result = -1;
+ }
+ return result;
+}
+
+static inline int close(int fd)
+{
+ int result;
+ if((result = cyg_hal_sys_close(fd)) < 0)
+ {
+ errno = -result;
+ result = -1;
+ }
+ return result;
+}
+
+static inline ssize_t read(int fd, void *buf, size_t count)
+{
+ int result;
+ if((result = cyg_hal_sys_read(fd, buf, count)) < 0)
+ {
+ errno = -result;
+ result = -1;
+ }
+ return result;
+}
+
+static inline ssize_t write(int fd, const void *buf, size_t count)
+{
+ int result;
+ if ((result = (ssize_t)cyg_hal_sys_write(fd, buf, count)) < 0)
+ {
+ errno = -result;
+ result = -1;
+ }
+ return result;
+}
+
+static inline int mknod(const char *pathname, mode_t mode, dev_t dev)
+{
+ int result;
+ if((result = cyg_hal_sys_mknod(pathname, mode, dev)) < 0)
+ {
+ errno = -result;
+ result = -1;
+ }
+ return result;
+}
+
+static inline int unlink(const char *pathname)
+{
+ int result;
+ if((result = cyg_hal_sys_unlink(pathname)) < 0)
+ {
+ errno = -result;
+ result = -1;
+ }
+ return result;
+}
+
+#endif /* syscall_h */