First set of licensing changes
[mono.git] / mono / metadata / file-mmap.h
1 /*
2  * file-mmap.h: Managed mmap wrappers.
3  *
4  * Authors:
5  *      Rodrigo Kumpera
6  *
7  * Copyright 2014 Xamarin Inc (http://www.xamarin.com)
8  * Licensed under the MIT license. See LICENSE file in the project root for full license information.
9  */
10
11 #ifndef _MONO_METADATA_FILE_MMAP_H_
12 #define _MONO_METADATA_FILE_MMAP_H_
13
14 #include <config.h>
15 #include <glib.h>
16
17 #include <mono/metadata/object-internals.h>
18 #include <mono/io-layer/io-layer.h>
19 #include <mono/utils/mono-compiler.h>
20
21 extern void mono_mmap_close (void *mmap_handle);
22
23 extern void mono_mmap_configure_inheritability (void *mmap_handle, gboolean inheritability);
24
25 extern void mono_mmap_flush (void *mmap_handle);
26
27 extern void *mono_mmap_open_file (MonoString *string, int mode, MonoString *mapName, gint64 *capacity, int access, int options, int *error);
28
29 extern void *mono_mmap_open_handle (void *handle, MonoString *mapName, gint64 *capacity, int access, int options, int *error);
30
31 extern int mono_mmap_map (void *handle, gint64 offset, gint64 *size, int access, void **mmap_handle, void **base_address);
32
33 extern gboolean mono_mmap_unmap (void *base_address);
34
35 #endif /* _MONO_METADATA_FILE_MMAP_H_ */