io.h man page

io.h — C wrapper for I/O interfaces.

Synopsis

#include 'dmlite.h'
#include 'any.h'
#include 'pool.h'
#include <sys/uio.h>
#include <unistd.h>

Macros

#define O_INSECURE 010

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@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, int flags, 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_t count, off_t offset)

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_t count, off_t offset)

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_t count)

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_t count)

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_t offset, int whence)

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_t count)

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_t count)

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.

Info

Fri Sep 23 2016 Version 0.6 dmlite