]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UnixPkg/Include/Protocol/UnixThunk.h
Finish spliting SecDispatchTableLib into two functions so it can be a BaseLib
[mirror_edk2.git] / UnixPkg / Include / Protocol / UnixThunk.h
index 4141d35662a829244e931a47923d01ab756352db..12d07f931130f82c645cadeb0699f258fc171a41 100644 (file)
@@ -61,8 +61,6 @@ Abstract:
 #endif 
 
 #include <utime.h>
-#include <dlfcn.h>
-#include <ucontext.h>
 
 #include <Base.h>
 #include <Library/PeCoffLib.h>
@@ -74,7 +72,9 @@ Abstract:
 // 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 __DARWIN_64_BIT_INO_T
 
@@ -128,7 +128,10 @@ typedef struct stat_fix {
 } STAT_FIX;
 
 #endif
-#pragma pack()
+
+#ifdef MDE_CPU_IA32
+#pragma pack(4)
+#endif
 
 #else 
 
@@ -155,40 +158,75 @@ VOID
 
 typedef
 VOID
-(*UnixSetTimer) (UINT64 PeriodMs, VOID (*CallBack)(UINT64 DeltaMs));
+(*UnixSetTimer) (
+  UINT64 PeriodMs, 
+  VOID (*CallBack)(UINT64 DeltaMs)
+  );
+
 typedef
 VOID
-(*UnixGetLocalTime) (EFI_TIME *Time);
+(*UnixGetLocalTime) (
+  EFI_TIME *Time
+  );
+
 typedef
 struct tm *
-(*UnixGmTime)(const time_t *timep);
+(*UnixGmTime)(
+  const time_t *timep
+  );
+
 typedef
 long
-(*UnixGetTimeZone)(void);
+(*UnixGetTimeZone)(
+  void
+  );
+
 typedef
 int
-(*UnixGetDayLight)(void);
+(*UnixGetDayLight)(
+  void
+  );
+
 typedef
 int
-(*UnixPoll)(struct pollfd *pfd, int nfds, int timeout);
+(*UnixPoll)(
+  struct pollfd *pfd, 
+  unsigned int  nfds, 
+  int           timeout
+  );
+
 typedef
-int
-(*UnixRead) (int fd, void *buf, int count);
+long
+(*UnixRead) (
+  int  fd, 
+  void *buf, 
+  int  count
+  );
+
 typedef
-int
-(*UnixWrite) (int fd, const void *buf, int count);
+long
+(*UnixWrite) (
+  int         fd, 
+  const void  *buf, 
+  int         count
+  );
+
 typedef
 char *
 (*UnixGetenv) (const char *var);
+
 typedef
 int
 (*UnixOpen) (const char *name, int flags, int mode);
+
 typedef
 off_t
 (*UnixSeek) (int fd, off_t off, int whence);
+
 typedef
 int
 (*UnixFtruncate) (int fd, long int len);
+
 typedef
 int
 (*UnixClose) (int fd);
@@ -196,45 +234,59 @@ int
 typedef
 int
 (*UnixMkdir)(const char *pathname, mode_t mode);
+
 typedef
 int
 (*UnixRmDir)(const char *pathname);
+
 typedef
 int
 (*UnixUnLink)(const char *pathname);
+
 typedef
 int
 (*UnixGetErrno)(VOID);
+
 typedef
 DIR *
 (*UnixOpenDir)(const char *pathname);
+
 typedef
 void
 (*UnixRewindDir)(DIR *dir);
+
 typedef
 struct dirent *
 (*UnixReadDir)(DIR *dir);
+
 typedef
 int
 (*UnixCloseDir)(DIR *dir);
+
 typedef
 int
 (*UnixStat)(const char *path, STAT_FIX *buf);
+
 typedef
 int
 (*UnixStatFs)(const char *path, struct statfs *buf);
+
 typedef
 int
 (*UnixRename)(const char *oldpath, const char *newpath);
+
 typedef
 time_t
 (*UnixMkTime)(struct tm *tm);
+
 typedef
 int
 (*UnixFSync)(int fd);
+
 typedef
 int
 (*UnixChmod)(const char *path, mode_t mode);
+
 typedef
 int
 (*UnixUTime)(const char *filename, const struct utimbuf *buf);
@@ -256,14 +308,14 @@ void
 typedef 
 int 
 #if __CYGWIN__
-(*UnixIoCtl) (int fd, int __request, ...);
+(*UnixIoCtl) (int fd, int __request, UINTN Arg);
 #else
-(*UnixIoCtl) (int fd, unsigned long int __request, ...);
+(*UnixIoCtl) (int fd, unsigned long int __request, void *Arg);
 #endif
 
 typedef 
 int 
-(*UnixFcntl) (int __fd, int __cmd, ...);
+(*UnixFcntl) (int __fd, int __cmd, void *Arg);
 
 typedef
 int 
@@ -282,21 +334,9 @@ int
 (*UnixTcsetattr) (int __fd, int __optional_actions,
                      __const struct termios *__termios_p);
 
-typedef 
-VOID *
-(*UnixDlopen) (const char *FileName, int Flag);
-
-typedef
-char *
-(*UnixDlerror) (VOID);
-
-typedef 
-VOID *
-(*UnixDlsym) (VOID* Handle, const char* Symbol);
-
 
 //
-// Work functions to enable source level debug in the emulator
+// Worker functions to enable source level debug in the emulator
 //
 
 typedef 
@@ -333,13 +373,13 @@ typedef struct _EFI_UNIX_THUNK_PROTOCOL {
   UnixGetTimeZone                     GetTimeZone;
   UnixGetDayLight                     GetDayLight;
   UnixPoll                               Poll;
-  UnixRead                           Read;
-  UnixWrite                          Write;
-  UnixGetenv                         Getenv;
-  UnixOpen                           Open;
-  UnixSeek                           Lseek;
-  UnixFtruncate                      FTruncate;
-  UnixClose                          Close;
+  UnixRead                            Read;
+  UnixWrite                           Write;
+  UnixGetenv                          Getenv;
+  UnixOpen                            Open;
+  UnixSeek                            Lseek;
+  UnixFtruncate                       FTruncate;
+  UnixClose                           Close;
   UnixMkdir                           MkDir;
   UnixRmDir                           RmDir;
   UnixUnLink                          UnLink;
@@ -364,9 +404,6 @@ typedef struct _EFI_UNIX_THUNK_PROTOCOL {
   UnixCfsetospeed                     Cfsetospeed;
   UnixTcgetattr                       Tcgetattr;
   UnixTcsetattr                       Tcsetattr;
-  UnixDlopen                          Dlopen;
-  UnixDlerror                         Dlerror;
-  UnixDlsym                           Dlsym;
   UnixPeCoffGetEntryPoint                 PeCoffGetEntryPoint;
   UnixPeCoffRelocateImageExtraAction      PeCoffRelocateImageExtraAction;
   UnixPeCoffLoaderUnloadImageExtraAction  PeCoffUnloadImageExtraAction;