X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=fd.c;h=ed61664545817d51774bdff4d1502a019f8bdfe8;hp=e5aa59f59382967ffd9c54e7c7a4199246bde1f1;hb=c458b9d45e7c6ddda6285fca3797fddff815bd0a;hpb=fbfc694f85103a86c18469c6fdd2f4f03c812337 diff --git a/fd.c b/fd.c index e5aa59f5..ed616645 100644 --- a/fd.c +++ b/fd.c @@ -60,19 +60,20 @@ int para_select(int n, fd_set *readfds, fd_set *writefds, } /** - * set a file descriptor to non-blocking mode + * Set a file descriptor to non-blocking mode. * - * \param fd The file descriptor + * \param fd The file descriptor. * - * \returns 1 on success, -E_F_GETFL, -E_F_SETFL, on errors. + * \return Standard. */ int mark_fd_nonblock(int fd) { int flags = fcntl(fd, F_GETFL); if (flags < 0) - return -E_F_GETFL; - if (fcntl(fd, F_SETFL, ((long)flags) | O_NONBLOCK) < 0) - return -E_F_SETFL; + return -ERRNO_TO_PARA_ERROR(errno); + flags = fcntl(fd, F_SETFL, ((long)flags) | O_NONBLOCK); + if (flags < 0) + return -ERRNO_TO_PARA_ERROR(errno); return 1; } @@ -169,7 +170,7 @@ void *para_mmap(size_t length, int prot, int flags, int fd, off_t offset) * The mode parameter must be specified when O_CREAT is in the flags, and is ignored * otherwise. * - * \return Positive on success, negative on errors. + * \return The file descriptor on success, negative on errors. * * \sa open(2). */ @@ -179,22 +180,7 @@ int para_open(const char *path, int flags, mode_t mode) if (ret >= 0) return ret; - switch (errno) { - case EEXIST: - ret = -E_EXIST; - break; - case EISDIR: - ret = -E_ISDIR; - break; - case ENOENT: - ret = -E_NOENT; - break; - case EPERM: - ret = -E_OPEN_PERM; - break; - }; - PARA_ERROR_LOG("failed to open %s: %s\n", path, strerror(errno)); - return -E_OPEN; + return -ERRNO_TO_PARA_ERROR(errno); } /** @@ -210,13 +196,7 @@ int para_chdir(const char *path) if (ret >= 0) return 1; - switch (errno) { - case ENOENT: - return -E_NOENT; - case EACCES: - return -E_CHDIR_PERM; - }; - return -E_CHDIR; + return -ERRNO_TO_PARA_ERROR(errno); } /** @@ -291,19 +271,11 @@ int para_fchdir(int fd) * \param path Name of the directory to create. * \param mode The permissions to use. * - * \return positive on success, negative on errors. + * \return Standard. */ int para_mkdir(const char *path, mode_t mode) { if (!mkdir(path, mode)) return 1; - if (errno == EEXIST) - return -E_EXIST; - if (errno == ENOSPC) - return -E_NOSPC; - if (errno == ENOTDIR) - return -E_NOTDIR; - if (errno == EPERM) - return -E_MKDIR_PERM; - return -E_MKDIR; + return -ERRNO_TO_PARA_ERROR(errno); }