375eafb7b57947f3456605da94ca1f01d5870916
[fw/stlink] / src / mmap.h
1 /* mmap.h -- mmap family functions prototypes for gold.  */
2
3 /* Copyright 2009 Free Software Foundation, Inc.
4    Written by Vladimir Simonov <sv@sw.ru>
5
6    This file is part of gold.
7
8    This program is free software; you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation; either version 3 of the License, or
11    (at your option) any later version.
12
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17
18    You should have received a copy of the GNU General Public License
19    along with this program; if not, write to the Free Software
20    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
21    MA 02110-1301, USA.  */
22
23 #ifndef GOLD_MMAP_H
24 #define GOLD_MMAP_H
25
26 #ifdef HAVE_SYS_MMAN_H
27
28 #include <sys/mman.h>
29
30 /* Some BSD systems still use MAP_ANON instead of MAP_ANONYMOUS.  */
31
32 #ifndef MAP_ANONYMOUS
33 # define MAP_ANONYMOUS MAP_ANON
34 #endif
35
36 #else
37
38 #define PROT_READ 0x1
39 #define PROT_WRITE 0x2
40
41 #define MAP_SHARED 0x01
42 #define MAP_PRIVATE 0x02
43
44 #define MAP_ANONYMOUS 0x20
45
46 #define MAP_FAILED ((void *) -1)
47 #endif /* HAVE_SYS_MMAN_H */
48
49 #ifndef HAVE_MMAP
50 #ifdef __cplusplus
51 extern "C" {
52 #endif
53 extern void *mmap (void *__addr, size_t __len, int __prot,
54                     int __flags, int __fd, long long __offset);
55 extern int munmap (void *__addr, size_t __len);
56 #ifdef __cplusplus
57 }
58 #endif
59
60 #endif /* HAVE_MMAP */
61
62 #endif /* GOLD_MMAP_H */