X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=fd.h;h=436622f0ef994791abe9d1e3f3cd3adacb08d92a;hp=0fd30e9b6bd292fa83bb6725caa1fd31ad127f99;hb=28ea59db9b3cd2bd9d6be0f304d951aa550ea4d6;hpb=25e6054e929908d9e21a2dd39996117e93124da5 diff --git a/fd.h b/fd.h index 0fd30e9b..436622f0 100644 --- a/fd.h +++ b/fd.h @@ -1,30 +1,35 @@ /* - * Copyright (C) 2006-2007 Andre Noll + * Copyright (C) 2006-2011 Andre Noll * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. + * Licensed under the GPL v2. For licencing details see 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 para_select(int n, fd_set *readfds, fd_set *writefds, struct timeval *timeout_tv); -int mark_fd_nonblock(int fd); +__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_fread(void *dest, size_t nbytes, size_t nmemb, - FILE *stream); __must_check int para_fgets(char *line, int size, FILE *f); -int para_fseek(FILE *stream, long offset, int whence); -void *para_mmap(size_t length, int prot, int flags, int fd, off_t offset); +int para_mmap(size_t length, int prot, int flags, int fd, off_t offset, + 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); +int para_munmap(void *start, size_t length); +int write_ok(int fd); +void valid_fd_012(void); +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); +int for_each_file_in_dir(const char *dirname, + int (*func)(const char *, void *), void *private_data);