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.