From bd82d030011cd8b9655e5ded6b6df9343b42a6bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Wed, 4 Feb 2015 14:09:54 +0100 Subject: Imported Upstream version 3.22 --- src/uxcompat.h | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 src/uxcompat.h (limited to 'src/uxcompat.h') diff --git a/src/uxcompat.h b/src/uxcompat.h new file mode 100644 index 0000000..e735c50 --- /dev/null +++ b/src/uxcompat.h @@ -0,0 +1,104 @@ +#ifndef _LIBHX_UXCOMPAT_H +#define _LIBHX_UXCOMPAT_H 1 + +#if defined(__cplusplus) && __cplusplus >= 201100UL +# include +# include +#else +# include +# include +#endif +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef ENOSYS +# define ENOSYS 38 /* Function not implemented */ +#endif + +#ifndef S_IFLNK +# define S_IFLNK 0xA000 +#endif +#ifndef S_IFSOCK +# define S_IFSOCK 0xC000 +#endif +#ifndef S_IFBLK +# define S_IFBLK 0x6000 +#endif +#ifndef S_IFCHR +# define S_IFCHR 0x2000 +#endif +#ifndef S_IFIFO +# define S_IFIFO 0x1000 +#endif +#ifndef S_ISBLK +# define S_ISBLK(__mode) (((__mode) & S_IFMT) == S_IFBLK) +#endif +#ifndef S_ISCHR +# define S_ISCHR(__mode) (((__mode) & S_IFMT) == S_IFCHR) +#endif +#ifndef S_ISDIR +# define S_ISDIR(__mode) (((__mode) & S_IFMT) == S_IFDIR) +#endif +#ifndef S_ISREG +# define S_ISREG(__mode) (((__mode) & S_IFMT) == S_IFREG) +#endif +#ifndef S_ISLNK +# define S_ISLNK(__mode) (((__mode) & S_IFMT) == S_IFLNK) +#endif +#ifndef S_ISFIFO +# define S_ISFIFO(__mode) (((__mode) & S_IFMT) == S_IFIFO) +#endif +#ifndef S_ISSOCK +# define S_ISSOCK(__mode) (((__mode) & S_IFMT) == S_IFSOCK) +#endif +#ifndef S_IRGRP +# define S_IRGRP 00040 +#endif +#ifndef S_IWGRP +# define S_IWGRP 00020 +#endif +#ifndef S_IROTH +# define S_IROTH 00004 +#endif +#ifndef S_IWOTH +# define S_IWOTH 00002 +#endif + +struct stat; + +/* + * UX-FILE.C + */ +extern int chown(const char *, long, long); +extern int fchmod(int, long); +extern int fchown(int, long, long); +extern int lchown(const char *, long, long); +extern int lstat(const char *, struct stat *); +extern int mkfifo(const char *, long); +extern int mknod(const char *, long, long); +extern int readlink(const char *, char *, size_t); +extern int symlink(const char *, const char *); + +/* + * UX-MMAP.C + */ +#ifdef _WIN32 +# define MAP_FAILED reinterpret_cast(void *, static_cast(intptr_t, -1)) +# define PROT_NONE 0x0 +# define PROT_READ 0x1 +# define PROT_WRITE 0x2 +# define PROT_EXEC 0x4 +# define MAP_SHARED 0x1 +# define MAP_PRIVATE 0x2 +extern void *mmap(void *, size_t, int, int, int, off_t); +extern int munmap(void *, size_t); +#endif + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* _LIBHX_UXCOMPAT_H */ -- cgit v1.2.3