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.
|
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.
|
|
C wrapper for I/O interfaces.
- Author
- Alejandro Álvarez Ayllon aalva.nosp@m.rez@.nosp@m.cern..nosp@m.ch
◆ O_INSECURE
Use this flag in addition to the standard ones to skip any security check (i.e. token validation)
◆ dmlite_fd
Handle for a file descriptor.
◆ dmlite_donewriting()
Finishes a PUT.
- Parameters
-
context | The DM context. |
loc | The location as returned by dmlite_put. |
- Returns
- 0 on success, error code otherwise.
◆ dmlite_fclose()
Closes a file.
- Parameters
-
fd | The file descriptor as returned by dmlite_open. |
- Returns
- 0 on success, error code otherwise.
◆ dmlite_feof()
Returns 1 if EOF.
- Parameters
-
- Returns
- 0 if there is more to read. 1 if EOF.
◆ dmlite_ferrno()
Returns the last errror code.
- Parameters
-
- Returns
- The last error code.
◆ dmlite_ferror()
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.
◆ dmlite_fileno()
Returns the system file descriptor if available.
- Parameters
-
- 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_fopen()
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.
◆ dmlite_fpread()
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.
◆ dmlite_fpwrite()
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.
◆ dmlite_fread()
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.
◆ dmlite_freadv()
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.
◆ dmlite_fseek()
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.
◆ dmlite_fstat()
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.
◆ dmlite_ftell()
Returns the cursor position.
- Parameters
-
- Returns
- The cursor position, or -1 on error.
◆ dmlite_fwrite()
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.
◆ dmlite_fwritev()
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.