mingw_support.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /*
  2. * Copyright 2008 Extreme Engineering Solutions, Inc.
  3. *
  4. * This program is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU Library General Public
  6. * License as published by the Free Software Foundation; either
  7. * version 2 of the License, or (at your option) any later version.
  8. *
  9. * This library is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  12. * Library General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU Library General Public
  15. * License along with this software; if not, write to the
  16. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  17. */
  18. #ifndef __MINGW_SUPPORT_H_
  19. #define __WINGW_SUPPORT_H_ 1
  20. /* Defining __INSIDE_MSYS__ helps to prevent u-boot/mingw overlap */
  21. #define __INSIDE_MSYS__ 1
  22. #include <windows.h>
  23. /* mmap protections */
  24. #define PROT_READ 0x1 /* Page can be read */
  25. #define PROT_WRITE 0x2 /* Page can be written */
  26. #define PROT_EXEC 0x4 /* Page can be executed */
  27. #define PROT_NONE 0x0 /* Page can not be accessed */
  28. /* Sharing types (must choose one and only one of these) */
  29. #define MAP_SHARED 0x01 /* Share changes */
  30. #define MAP_PRIVATE 0x02 /* Changes are private */
  31. /* File perms */
  32. #ifndef S_IRGRP
  33. # define S_IRGRP 0
  34. #endif
  35. #ifndef S_IWGRP
  36. # define S_IWGRP 0
  37. #endif
  38. /* Windows 64-bit access macros */
  39. #define LODWORD(x) ((DWORD)((DWORDLONG)(x)))
  40. #define HIDWORD(x) ((DWORD)(((DWORDLONG)(x) >> 32) & 0xffffffff))
  41. typedef UINT uint;
  42. typedef ULONG ulong;
  43. int fsync(int fd);
  44. void *mmap(void *, size_t, int, int, int, int);
  45. int munmap(void *, size_t);
  46. char *strtok_r(char *s, const char *delim, char **save_ptr);
  47. #include "getline.h"
  48. #endif /* __MINGW_SUPPORT_H_ */