summaryrefslogtreecommitdiff
path: root/UnixPkg/Include/Protocol/UnixThunk.h
diff options
context:
space:
mode:
Diffstat (limited to 'UnixPkg/Include/Protocol/UnixThunk.h')
-rw-r--r--UnixPkg/Include/Protocol/UnixThunk.h132
1 files changed, 1 insertions, 131 deletions
diff --git a/UnixPkg/Include/Protocol/UnixThunk.h b/UnixPkg/Include/Protocol/UnixThunk.h
index a5383be29e..85ac5f9086 100644
--- a/UnixPkg/Include/Protocol/UnixThunk.h
+++ b/UnixPkg/Include/Protocol/UnixThunk.h
@@ -29,142 +29,12 @@ Abstract:
#ifndef _UNIX_THUNK_H_
#define _UNIX_THUNK_H_
-#include <sys/termios.h>
-#include <stdio.h>
-#include <sys/time.h>
-
-#if __CYGWIN__
-#include <sys/dirent.h>
-#else
-#include <sys/dir.h>
-#endif
-
-#include <unistd.h>
-#include <poll.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <time.h>
-#include <signal.h>
-#include <errno.h>
-#include <string.h>
-#include <stdlib.h>
-#include <sys/ioctl.h>
-
-#include <sys/socket.h>
-#include <netdb.h>
-#include <netinet/in.h>
-#include <net/if.h>
-#include <net/if_dl.h>
-#include <ifaddrs.h>
-#include <net/bpf.h>
-
-#ifdef __APPLE__
-#include <sys/param.h>
-#include <sys/mount.h>
-#define _XOPEN_SOURCE
-#ifndef _Bool
- #define _Bool char // for clang debug
-#endif
-#else
-#include <termio.h>
-#include <sys/vfs.h>
-#endif
-
-#include <utime.h>
+#include <Common/UnixInclude.h>
#include <Base.h>
#include <Library/PeCoffLib.h>
-#if __APPLE__
-//
-// EFI packing is not compatible witht he default OS packing for struct stat.
-// st_size is 64-bit but starts on a 32-bit offset in the structure. The compiler
-// flags used to produce compatible EFI images, break struct stat
-//
-#ifdef MDE_CPU_IA32
-#pragma pack(4)
-#endif
-
-#if defined(__DARWIN_64_BIT_INO_T)
-
-
-typedef struct {
- UINTN tv_sec; /* seconds */
- UINTN tv_nsec; /* and nanoseconds */
-} EFI_timespec;
-
-
-
-typedef struct stat_fix { \
- dev_t st_dev; /* [XSI] ID of device containing file */
- mode_t st_mode; /* [XSI] Mode of file (see below) */
- nlink_t st_nlink; /* [XSI] Number of hard links */
- __darwin_ino64_t st_ino; /* [XSI] File serial number */
- uid_t st_uid; /* [XSI] User ID of the file */
- gid_t st_gid; /* [XSI] Group ID of the file */
- dev_t st_rdev; /* [XSI] Device ID */
-
- // clang for X64 ABI follows Windows and a long is 32-bits
- // this breaks system inlcude files so that is why we need
- // to redefine timespec as EFI_timespec
- EFI_timespec st_atimespec;
- EFI_timespec st_mtimespec;
- EFI_timespec st_ctimespec;
- EFI_timespec st_birthtimespec;
-
- off_t st_size; /* [XSI] file size, in bytes */
- blkcnt_t st_blocks; /* [XSI] blocks allocated for file */
- blksize_t st_blksize; /* [XSI] optimal blocksize for I/O */
- __uint32_t st_flags; /* user defined flags for file */
- __uint32_t st_gen; /* file generation number */
- __int32_t st_lspare; /* RESERVED: DO NOT USE! */
- __int64_t st_qspare[2]; /* RESERVED: DO NOT USE! */
-} STAT_FIX;
-
-#else /* !__DARWIN_64_BIT_INO_T */
-
-typedef struct stat_fix {
- dev_t st_dev; /* [XSI] ID of device containing file */
- ino_t st_ino; /* [XSI] File serial number */
- mode_t st_mode; /* [XSI] Mode of file (see below) */
- nlink_t st_nlink; /* [XSI] Number of hard links */
- uid_t st_uid; /* [XSI] User ID of the file */
- gid_t st_gid; /* [XSI] Group ID of the file */
- dev_t st_rdev; /* [XSI] Device ID */
-#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
- struct timespec st_atimespec; /* time of last access */
- struct timespec st_mtimespec; /* time of last data modification */
- struct timespec st_ctimespec; /* time of last status change */
-#else
- time_t st_atime; /* [XSI] Time of last access */
- long st_atimensec; /* nsec of last access */
- time_t st_mtime; /* [XSI] Last data modification time */
- long st_mtimensec; /* last data modification nsec */
- time_t st_ctime; /* [XSI] Time of last status change */
- long st_ctimensec; /* nsec of last status change */
-#endif
- off_t st_size; /* [XSI] file size, in bytes */
- blkcnt_t st_blocks; /* [XSI] blocks allocated for file */
- blksize_t st_blksize; /* [XSI] optimal blocksize for I/O */
- __uint32_t st_flags; /* user defined flags for file */
- __uint32_t st_gen; /* file generation number */
- __int32_t st_lspare; /* RESERVED: DO NOT USE! */
- __int64_t st_qspare[2]; /* RESERVED: DO NOT USE! */
-} STAT_FIX;
-
-#endif
-
-#ifdef MDE_CPU_IA32
-#pragma pack(4)
-#endif
-
-#else
-
- typedef struct stat STAT_FIX;
-
-#endif
#define EFI_UNIX_THUNK_PROTOCOL_GUID \
{ \