blob: 47831835ffced4fb8b0570fca627c1df341e9d5d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#include <errno.h>
#include <sys/mount.h>
#include <bits/ensure.h>
#include <mlibc/linux-sysdeps.hpp>
int mount(const char *source, const char *target,
const char *fstype, unsigned long flags, const void *data) {
MLIBC_CHECK_OR_ENOSYS(mlibc::sys_mount, -1);
if(int e = mlibc::sys_mount(source, target, fstype, flags, data); e) {
errno = e;
return -1;
}
return 0;
}
int umount(const char *target) {
return umount2(target, 0);
}
int umount2(const char *target, int flags) {
MLIBC_CHECK_OR_ENOSYS(mlibc::sys_umount2, -1);
if(int e = mlibc::sys_umount2(target, flags); e) {
errno = e;
return -1;
}
return 0;
}
|