io.h (3) - Linux Manuals
NAME
io.h -
SYNOPSIS
#include 'dmlite.h'
#include 'any.h'
#include 'pool.h'
#include <sys/uio.h>
#include <unistd.h>
Macros
Typedefs
typedef struct dmlite_fd dmlite_fd
Functions
dmlite_fd * dmlite_fopen (dmlite_context *context, const char *path, int flags, const dmlite_any_dict *extra,...)
Opens a file.
int dmlite_fclose (dmlite_fd *fd)
Closes a file.
int dmlite_fstat (dmlite_fd *fd, struct stat *buf)
Gets information about a file descriptor.
int dmlite_fseek (dmlite_fd *fd, off_t offset, int whence)
Sets the file position.
off_t dmlite_ftell (dmlite_fd *fd)
Returns the cursor position.
ssize_t dmlite_fread (dmlite_fd *fd, void *buffer, size_t count)
Reads from a file.
ssize_t dmlite_fwrite (dmlite_fd *fd, const void *buffer, size_t count)
Writes to a file.
ssize_t dmlite_freadv (dmlite_fd *fd, const struct iovec *vector, size_t count)
Reads from a file into multiple buffers.
ssize_t dmlite_fwritev (dmlite_fd *fd, const struct iovec *vector, size_t count)
Reads from a file into multiple buffers.
ssize_t dmlite_fpread (dmlite_fd *fd, void *buffer, size_t count, off_t offset)
Reads up to count bytes starting at the given offset. Does not change internal offset.
ssize_t dmlite_fpwrite (dmlite_fd *fd, const void *buffer, size_t count, off_t offset)
Writes count bytes starting at the given offset. Does not change internal offset.
int dmlite_feof (dmlite_fd *fd)
Returns 1 if EOF.
int dmlite_ferrno (dmlite_fd *fd)
Returns the last errror code.
const char * dmlite_ferror (dmlite_fd *fd)
Returns the last error message.
int dmlite_donewriting (dmlite_context *context, const dmlite_location *loc)
Finishes a PUT.
int dmlite_fileno (dmlite_fd *fd)
Returns the system file descriptor if available.
Detailed Description
C wrapper for I/O interfaces.
Author:
- Alejandro Álvarez Ayllon aalvarez [at] cern.ch
Macro Definition Documentation
#define O_INSECURE 010
Use this flag in addition to the standard ones to skip any security check (i.e. token validation)Typedef Documentation
typedef struct dmlite_fd dmlite_fd
Handle for a file descriptor.Function Documentation
int dmlite_donewriting (dmlite_context *context, const dmlite_location *loc)
Finishes a PUT.
Parameters:
-
context The DM context.
loc The location as returned by dmlite_put.
Returns:
- 0 on success, error code otherwise.
int dmlite_fclose (dmlite_fd *fd)
Closes a file.
Parameters:
- fd The file descriptor as returned by dmlite_open.
Returns:
- 0 on success, error code otherwise.
int dmlite_feof (dmlite_fd *fd)
Returns 1 if EOF.
Parameters:
- fd The file descriptor.
Returns:
- 0 if there is more to read. 1 if EOF.
int dmlite_ferrno (dmlite_fd *fd)
Returns the last errror code.
Parameters:
- fd The file descriptor.
Returns:
- The last error code.
const char* dmlite_ferror (dmlite_fd *fd)
Returns the last error message.
Parameters:
- fd The file descriptor.
Returns:
- A pointer to an internal buffer with the last error message.
Note:
- This buffer is specific to each file descriptor.
int dmlite_fileno (dmlite_fd *fd)
Returns the system file descriptor if available.
Parameters:
- fd The file descriptor.
Returns:
- The file descriptor, -1 if it can not be retrieved.
Note:
-
Support depends on the plugin providing the file.
Calling dmlite_fclose will close the file descriptor returned by this.
dmlite_fd* dmlite_fopen (dmlite_context *context, const char *path, intflags, const dmlite_any_dict *extra, ...)
Opens a file.
Parameters:
-
context The DM context.
path The path to open.
flags See open()
extra The key-value pairs.
... Should be mode_t when called with O_CREAT.
Returns:
- An opaque handler for the file, NULL on failure.
ssize_t dmlite_fpread (dmlite_fd *fd, void *buffer, size_tcount, off_toffset)
Reads up to count bytes starting at the given offset. Does not change internal offset.
Parameters:
-
fd File descriptor.
buffer Buffer where to put the data.
count Number of bytes to read.
offset Read offset.
Returns:
- Number of bytes actually read on success. -1 on failure.
ssize_t dmlite_fpwrite (dmlite_fd *fd, const void *buffer, size_tcount, off_toffset)
Writes count bytes starting at the given offset. Does not change internal offset.
Parameters:
-
fd File descriptor.
buffer Data to write.
count Number of bytes to read.
offset Write offset.
Returns:
- Number of bytes actually write on success. -1 on failure.
ssize_t dmlite_fread (dmlite_fd *fd, void *buffer, size_tcount)
Reads from a file.
Parameters:
-
fd The file descriptor.
buffer Where to put the data.
count Number of bytes to read.
Returns:
- Number of bytes actually read on success. -1 on failure.
ssize_t dmlite_freadv (dmlite_fd *fd, const struct iovec *vector, size_tcount)
Reads from a file into multiple buffers.
Parameters:
-
fd The file descriptor.
vector Array of buffers.
count Number of elements in the array of buffers.
Returns:
- Number of bytes actually read on success. -1 on failure.
int dmlite_fseek (dmlite_fd *fd, off_toffset, intwhence)
Sets the file position.
Parameters:
-
fd The file descriptor.
offset The offset.
whence See fseek()
Returns:
- 0 on success, error code otherwise.
int dmlite_fstat (dmlite_fd *fd, struct stat *buf)
Gets information about a file descriptor.
Parameters:
-
fd The file descriptor.
buf Where to put the information.
Returns:
- 0 on success, error code otherwise.
Note:
- Not all plug-ins will fill all the fields, but st_size is a reasonable expectation.
off_t dmlite_ftell (dmlite_fd *fd)
Returns the cursor position.
Parameters:
- fd The file descriptor.
Returns:
- The cursor position, or -1 on error.
ssize_t dmlite_fwrite (dmlite_fd *fd, const void *buffer, size_tcount)
Writes to a file.
Parameters:
-
fd The file descriptor.
buffer A pointer to the data.
count Number of bytes to write.
Returns:
- Number of bytes actually written. -1 on failure.
ssize_t dmlite_fwritev (dmlite_fd *fd, const struct iovec *vector, size_tcount)
Reads from a file into multiple buffers.
Parameters:
-
fd The file descriptor.
vector Array of buffers.
count Number of elements in the array of buffers.
Returns:
- Number of bytes actually read on success. -1 on failure.
Author
Generated automatically by Doxygen for dmlite from the source code.