3 * Managed mmap wrappers.
8 * Copyright 2014 Xamarin Inc (http://www.xamarin.com)
9 * Licensed under the MIT license. See LICENSE file in the project root for full license information.
12 #ifndef _MONO_METADATA_FILE_MMAP_H_
13 #define _MONO_METADATA_FILE_MMAP_H_
18 #include <mono/metadata/object-internals.h>
19 #include <mono/utils/mono-compiler.h>
20 #include <mono/metadata/icalls.h>
24 mono_mmap_close (void *mmap_handle
, MonoError
*error
);
26 // inheritability is an enum with the values 0 and 1.
29 mono_mmap_configure_inheritability (void *mmap_handle
, gint32 inheritability
, MonoError
*error
);
33 mono_mmap_flush (void *mmap_handle
, MonoError
*error
);
37 mono_mmap_open_file (const gunichar2
*path
, gint path_length
, int mode
, const gunichar2
*mapName
, gint mapName_length
, gint64
*capacity
, int access
, int options
, int *win32error
, MonoError
*error
);
41 mono_mmap_open_handle (void *handle
, const gunichar2
*mapName
, gint mapName_length
, gint64
*capacity
, int access
, int options
, int *win32error
, MonoError
*error
);
45 mono_mmap_map (void *handle
, gint64 offset
, gint64
*size
, int access
, void **mmap_handle
, void **base_address
, MonoError
*error
);
49 mono_mmap_unmap (void *base_address
, MonoError
*error
);
51 #endif /* _MONO_METADATA_FILE_MMAP_H_ */