2 * Copyright (C) 2006-2008 Andre Noll <maan@systemlinux.org>
4 * Licensed under the GPL v2. For licencing details see COPYING.
7 /** \file fd.h exported symbols from fd.c */
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 mmap_full_file(const char *filename, int open_mode, void **map,
12 size_t *size, int *fd_ptr);
13 int osl_munmap(void *start, size_t length);
14 int write_all(int fd, const char *buf, size_t *len);
15 int write_file(const char *filename, const void *buf, size_t size);
16 int truncate_file(const char *filename, off_t size);
19 * A wrapper for mkdir(2).
21 * \param path Name of the directory to create.
22 * \param mode The permissions to use.
26 static inline int osl_mkdir(const char *path, mode_t mode)
28 if (!mkdir(path, mode))
30 return -ERRNO_TO_ERROR(errno);
34 * A wrapper for rename(2).
36 * \param old_path The source path.
37 * \param new_path The destination path.
43 _static_inline_ int osl_rename(const char *old_path, const char *new_path)
45 if (rename(old_path, new_path) < 0)
46 return -ERRNO_TO_ERROR(errno);
50 _static_inline_ int osl_stat(const char *path, struct stat *buf)
52 if (stat(path, buf) >= 0)
54 return -ERRNO_TO_ERROR(errno);