C wrapper for I/O interfaces.
More...
#include "dmlite.h"
#include "any.h"
#include "pool.h"
#include <sys/uio.h>
#include <unistd.h>
Go to the source code of this file.
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_ferrror (dmlite_fd *fd) |
| Returns the last error message.
|
int | dmlite_donewriting (dmlite_context *context, const dmlite_location *loc) |
| Finishes a PUT.
|
Detailed Description
C wrapper for I/O interfaces.
- Author:
- Alejandro Álvarez Ayllon aalva.nosp@m.rez@.nosp@m.cern..nosp@m.ch
Macro Definition Documentation
Use this flag in addition to the standard ones to skip any security check (i.e. token validation)
Typedef Documentation
Handle for a file descriptor.
Function Documentation
Finishes a PUT.
- Parameters:
-
context | The DM context. |
loc | The location as returned by dmlite_put. |
- Returns:
- 0 on success, error code otherwise.
Closes a file.
- Parameters:
-
fd | The file descriptor as returned by dmlite_open. |
- Returns:
- 0 on success, error code otherwise.
Returns 1 if EOF.
- Parameters:
-
- Returns:
- 0 if there is more to read. 1 if EOF.
Returns the last errror code.
- Parameters:
-
- Returns:
- The last error code.
Returns the last error message.
- Parameters:
-
- Returns:
- A pointer to an internal buffer with the last error message.
- Note:
- This buffer is specific to each file descriptor.
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.
Returns the cursor position.
- Parameters:
-
- 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.