iad_oslib.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /**************************************************************************
  2. * Licensed Materials - Property of IBM and/or HCL
  3. *
  4. * IBM Informix Dynamic Server
  5. * Copyright IBM Corporation 2009,2010 All rights reserved.
  6. * (c) Copyright HCL Technologies Ltd. 2017. All Rights Reserved.2010
  7. *
  8. * Title : iad_oslib.h
  9. * Description : IDS Install API operating system specific functions
  10. *
  11. *************************************************************************
  12. */
  13. #ifndef IAD_OSLIB_H
  14. #define IAD_OSLIB_H
  15. #include <stdio.h>
  16. #include <stdarg.h>
  17. #include "machine.h"
  18. #include "porting.h"
  19. #ifdef WIN32
  20. #include <WinError.h>
  21. #endif
  22. #include "iad_internal.h"
  23. /* UNIX wrappers for Windows specific functions */
  24. #ifdef WIN32
  25. typedef unsigned long mode_t;
  26. extern mintptr NT_open(const char* filename, int oflag, ...);
  27. extern ssize_t NT_read(mintptr handle, void* buffer, size_t nbyte);
  28. extern ssize_t NT_write(mintptr handle, const void* buffer, size_t nbyte);
  29. extern int NT_close(mintptr handle);
  30. extern mlong NT_lseek(mintptr filedes, mlong offset, int whence);
  31. extern off_t NT_lseek64(mintptr filedes, off_t offset, int whence);
  32. extern mintptr NT_creat(const char* filename, mode_t mode);
  33. extern int NT_stat(const char* filename, struct stat* st);
  34. extern int NT_access(const char* filename, mode_t mode);
  35. extern int NT_ErrW32ToUnix(int ec);
  36. extern void NT_ExitThread(mint iExitCode);
  37. extern void w32_osprintf(char *fmt, ...);
  38. #endif
  39. #endif /* IAD_OSLIB_H */