]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UnixPkg/Include/Protocol/UnixThunk.h
2nd wave of r11105 checkin.2nd wave of r11105 checkin.
[mirror_edk2.git] / UnixPkg / Include / Protocol / UnixThunk.h
index a5383be29e20b7b943c2e8586e1e4228bb74fb37..85ac5f90862c7eb6c535d84b2cd6dc2b673d8178 100644 (file)
@@ -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 \
   { \