From: Joachim S. <js...@la...> - 2013-07-19 09:38:04
|
dear fuse-developers, === what is read_buf(..) and how is it supposed to be working === i was looking at the fuse.h source code documentation and the fusexmp_fh.c implementation. but still i don't understand what read_buf(..) is supposed to be doing. is there another example for how to use read_buf(..)? === my client wants read_buf(..) but i want to use read(..) === my current FUSE client implementation wants to use read_buf(..) and not read(..). why is that? i really don't understand why hello.c uses read(..) and my implementation, which is basically a 1:1 copy of hello.c, wants to use read_buf(..) instead. i hope someone can help me! best wishes, joachim === function signatures of read(..) and read_buf(..) === int read(const char *path, char *buf, size_t size, off_t offset, struct fuse_file_info *fileInfo) { ... } /** Store data from an open file in a buffer * * Similar to the read() method, but data is stored and * returned in a generic buffer. * * No actual copying of data has to take place, the source * file descriptor may simply be stored in the buffer for * later data transfer. * * The buffer must be allocated dynamically and stored at the * location pointed to by bufp. If the buffer contains memory * regions, they too must be allocated using malloc(). The * allocated memory will be freed by the caller. * * Introduced in version 2.9 */ int read_buf(const char *path, struct fuse_bufvec **bufp, size_t size, off_t off, struct fuse_file_info *fileInfo) { ... } |