X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=fd.h;h=c9e79426f5c27ebf621367ce24b1c073c4e97e23;hp=c21a7d1480f32b6ef2bf30a5674d6005f8d2cb1c;hb=ac93cb364106bbaa88bf0d0852981a872166e6a9;hpb=5b15980ce22a3a4244e2440f46eac19eb0ceb3ef diff --git a/fd.h b/fd.h index c21a7d14..c9e79426 100644 --- a/fd.h +++ b/fd.h @@ -1,25 +1,19 @@ -/* - * Copyright (C) 2006-2010 Andre Noll - * - * Licensed under the GPL v2. For licencing details see COPYING. - */ +/* Copyright (C) 2006 Andre Noll , see file COPYING. */ /** \file fd.h exported symbols from fd.c */ -int write_all(int fd, const char *buf, size_t *len); -int file_exists(const char *); +int xrename(const char *oldpath, const char *newpath); +int write_all(int fd, const char *buf, size_t len); +__printf_2_3 int write_va_buffer(int fd, const char *fmt, ...); +bool file_exists(const char *); int para_select(int n, fd_set *readfds, fd_set *writefds, struct timeval *timeout_tv); __must_check int mark_fd_nonblocking(int fd); __must_check int mark_fd_blocking(int fd); void para_fd_set(int fd, fd_set *fds, int *max_fileno); -__must_check int para_fgets(char *line, int size, FILE *f); -int para_mmap(size_t length, int prot, int flags, int fd, off_t offset, - void *map); +int para_mmap(size_t length, int prot, int flags, int fd, void *map); int para_open(const char *path, int flags, mode_t mode); -int para_opendir(const char *dirname, DIR **dir, int *cwd); int para_mkdir(const char *path, mode_t mode); -int para_fchdir(int fd); int para_chdir(const char *path); int mmap_full_file(const char *filename, int open_mode, void **map, size_t *size, int *fd_ptr); @@ -30,7 +24,21 @@ int readv_nonblock(int fd, struct iovec *iov, int iovcnt, fd_set *rfds, size_t *num_bytes); int read_nonblock(int fd, void *buf, size_t sz, fd_set *rfds, size_t *num_bytes); int read_pattern(int fd, const char *pattern, size_t bufsize, fd_set *rfds); -int write_nonblock(int fd, const char *buf, size_t len, - size_t max_bytes_per_write); +int xwrite(int fd, const char *buf, size_t len); +int xwritev(int fd, struct iovec *iov, int iovcnt); int for_each_file_in_dir(const char *dirname, int (*func)(const char *, void *), void *private_data); +/** + * Write a \p NULL-terminated buffer. + * + * \param fd The file descriptor. + * \param buf The null-terminated buffer to be send. + * + * This is equivalent to write_all(fd, buf, strlen(buf)). + * + * \return Standard. + */ +_static_inline_ int write_buffer(int fd, const char *buf) +{ + return write_all(fd, buf, strlen(buf)); +}