bb09eb3eb3d0ecafd1a71cc49c579b5e8a0f7c1f
[osl.git] / fd.h
1 /*
2 * Copyright (C) 2006-2008 Andre Noll <maan@systemlinux.org>
3 *
4 * Licensed under the GPL v2. For licencing details see COPYING.
5 */
6
7 /** \file fd.h exported symbols from fd.c */
8
9 int osl_open(const char *path, int flags, mode_t mode);
10 int para_opendir(const char *dirname, DIR **dir, int *cwd);
11 int para_fchdir(int fd);
12 int mmap_full_file(const char *filename, int open_mode, void **map,
13 size_t *size, int *fd_ptr);
14 int para_munmap(void *start, size_t length);
15
16 /**
17 * A wrapper for mkdir(2).
18 *
19 * \param path Name of the directory to create.
20 * \param mode The permissions to use.
21 *
22 * \return Standard.
23 */
24 static inline int osl_mkdir(const char *path, mode_t mode)
25 {
26 if (!mkdir(path, mode))
27 return 1;
28 return -ERRNO_TO_ERROR(errno);
29 }
30
31 /**
32 * A wrapper for rename(2).
33 *
34 * \param old_path The source path.
35 * \param new_path The destination path.
36 *
37 * \return Standard.
38 *
39 * \sa rename(2).
40 */
41 _static_inline_ int osl_rename(const char *old_path, const char *new_path)
42 {
43 if (rename(old_path, new_path) < 0)
44 return -ERRNO_TO_ERROR(errno);
45 return 1;
46 }