]> git.proxmox.com Git - ceph.git/blob - ceph/src/pmdk/src/libpmem/libpmem.def
import ceph 16.2.7
[ceph.git] / ceph / src / pmdk / src / libpmem / libpmem.def
1 ;;;; Begin Copyright Notice
2 ; SPDX-License-Identifier: BSD-3-Clause
3 ; Copyright 2015-2018, Intel Corporation
4 ;;;; End Copyright Notice
5
6 ;
7 ; XXX - libpmem exports mmap/munmap/msync/mprotect functions
8 ;
9 ; This is a _temporary_ solution to make those function available for all
10 ; the other PMDK libraries and to have only one instance of a file mapping
11 ; list (owned by libpmem). Otherwise, each library would have its own
12 ; instance of the file mapping list, resulting in libpmem being not able
13 ; to find a file handle associated with the mapping address passed to
14 ; pmem_msync(), pmem_memcpy(), etc. causing those functions to fail.
15 ;
16 ; The proposed target solution would include:
17 ; - implementation of pmem_mmap, pmem_unmap, pmem_msync and
18 ; pmem_mprotect functions in libpmem (pmem_unmap and pmem_msync are
19 ; already there);
20 ; - making sure that all the PMDK libraries never call mmap, munmap,
21 ; msync and mprotect directly, but only through their libpmem counterparts;
22 ; - new pmem_mmap() function must provide similar functionality to
23 ; mmap(), i.e. it must take 'offset' argument, but should not take
24 ; file descriptor argument. Perhaps it could be an opaque handle
25 ; to the file, that is internally casted to a file descriptor
26 ; or a HANDLE, depending on the OS.
27 ;
28
29 LIBRARY libpmem
30
31 VERSION 1.0
32
33 EXPORTS
34 pmem_map_fileU
35 pmem_map_fileW
36 pmem_unmap
37 pmem_is_pmem
38 pmem_persist
39 pmem_msync
40 pmem_has_auto_flush
41 pmem_deep_persist
42 pmem_flush
43 pmem_deep_flush
44 pmem_deep_drain
45 pmem_drain
46 pmem_has_hw_drain
47 pmem_memmove_persist
48 pmem_memcpy_persist
49 pmem_memset_persist
50 pmem_memmove_nodrain
51 pmem_memcpy_nodrain
52 pmem_memset_nodrain
53 pmem_memmove
54 pmem_memcpy
55 pmem_memset
56 pmem_check_versionU
57 pmem_check_versionW
58 pmem_errormsgU
59 pmem_errormsgW
60
61 mmap
62 munmap
63 msync
64 mprotect
65
66 DllMain