blob: 1fb6c93824cb56c355d868c49788caef33b925e1 [file] [log] [blame]
Peter Tyser2f8d3962009-03-13 18:54:51 -05001/*
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/* Return value of `mmap' in case of an error */
38#define MAP_FAILED ((void *) -1)
39
40/* Windows 64-bit access macros */
41#define LODWORD(x) ((DWORD)((DWORDLONG)(x)))
42#define HIDWORD(x) ((DWORD)(((DWORDLONG)(x) >> 32) & 0xffffffff))
43
44typedef UINT uint;
45typedef ULONG ulong;
46
47int fsync(int fd);
48void *mmap(void *, size_t, int, int, int, int);
49int munmap(void *, size_t);
50
51#endif /* __MINGW_SUPPORT_H_ */