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 19 #ifndef __MINGW_SUPPORT_H_ 20 #define __WINGW_SUPPORT_H_ 1 21 22 /* Defining __INSIDE_MSYS__ helps to prevent u-boot/mingw overlap */ 23 #define __INSIDE_MSYS__ 1 24 25 #include <windows.h> 26 27 /* mmap protections */ 28 #define PROT_READ 0x1 /* Page can be read */ 29 #define PROT_WRITE 0x2 /* Page can be written */ 30 #define PROT_EXEC 0x4 /* Page can be executed */ 31 #define PROT_NONE 0x0 /* Page can not be accessed */ 32 33 /* Sharing types (must choose one and only one of these) */ 34 #define MAP_SHARED 0x01 /* Share changes */ 35 #define MAP_PRIVATE 0x02 /* Changes are private */ 36 37 /* Windows 64-bit access macros */ 38 #define LODWORD(x) ((DWORD)((DWORDLONG)(x))) 39 #define HIDWORD(x) ((DWORD)(((DWORDLONG)(x) >> 32) & 0xffffffff)) 40 41 typedef UINT uint; 42 typedef ULONG ulong; 43 44 int fsync(int fd); 45 void *mmap(void *, size_t, int, int, int, int); 46 int munmap(void *, size_t); 47 char *strtok_r(char *s, const char *delim, char **save_ptr); 48 int getline(char **lineptr, size_t *n, FILE *stream); 49 50 #endif /* __MINGW_SUPPORT_H_ */ 51