Disk IO APIs. More...
Go to the source code of this file.
Data Structures | |
struct | GNUNET_DISK_FileHandle |
Handle used to access files (and pipes). More... | |
Functions | |
enum GNUNET_GenericReturnValue | GNUNET_DISK_handle_invalid (const struct GNUNET_DISK_FileHandle *h) |
Checks whether a handle is invalid. More... | |
enum GNUNET_GenericReturnValue | GNUNET_DISK_file_test (const char *fil) |
Check that fil corresponds to a filename (of a file that exists and that is not a directory). More... | |
enum GNUNET_GenericReturnValue | GNUNET_DISK_file_test_read (const char *fil) |
Check that fil corresponds to a filename and the file has read permissions. More... | |
char * | GNUNET_DISK_file_backup (const char *fil) |
Move a file out of the way (create a backup) by renaming it to "orig.NUM~" where NUM is the smallest number that is not used yet. More... | |
off_t | GNUNET_DISK_file_seek (const struct GNUNET_DISK_FileHandle *h, off_t offset, enum GNUNET_DISK_Seek whence) |
Move the read/write pointer in a file. More... | |
enum GNUNET_GenericReturnValue | GNUNET_DISK_file_size (const char *filename, uint64_t *size, int include_symbolic_links, int single_file_mode) |
Get the size of the file (or directory) of the given file (in bytes). More... | |
enum GNUNET_GenericReturnValue | GNUNET_DISK_file_get_identifiers (const char *filename, uint64_t *dev, uint64_t *ino) |
Obtain some unique identifiers for the given file that can be used to identify it in the local system. More... | |
char * | GNUNET_DISK_mktemp (const char *t) |
Create an (empty) temporary file on disk. More... | |
char * | GNUNET_DISK_mkdtemp (const char *t) |
Create an (empty) temporary directory on disk. More... | |
struct GNUNET_DISK_FileHandle * | GNUNET_DISK_file_open (const char *fn, enum GNUNET_DISK_OpenFlags flags, enum GNUNET_DISK_AccessPermissions perm) |
Open a file. More... | |
enum GNUNET_GenericReturnValue | GNUNET_DISK_file_handle_size (struct GNUNET_DISK_FileHandle *fh, off_t *size) |
Get the size of an open file. More... | |
struct GNUNET_DISK_PipeHandle * | GNUNET_DISK_pipe (enum GNUNET_DISK_PipeFlags pf) |
Creates an interprocess channel. More... | |
struct GNUNET_DISK_PipeHandle * | GNUNET_DISK_pipe_from_fd (enum GNUNET_DISK_PipeFlags pf, int fd[2]) |
Creates a pipe object from a couple of file descriptors. More... | |
enum GNUNET_GenericReturnValue | GNUNET_DISK_pipe_close (struct GNUNET_DISK_PipeHandle *p) |
Closes an interprocess channel. More... | |
enum GNUNET_GenericReturnValue | GNUNET_DISK_pipe_close_end (struct GNUNET_DISK_PipeHandle *p, enum GNUNET_DISK_PipeEnd end) |
Closes one half of an interprocess channel. More... | |
struct GNUNET_DISK_FileHandle * | GNUNET_DISK_pipe_detach_end (struct GNUNET_DISK_PipeHandle *p, enum GNUNET_DISK_PipeEnd end) |
Detaches one of the ends from the pipe. More... | |
enum GNUNET_GenericReturnValue | GNUNET_DISK_file_close (struct GNUNET_DISK_FileHandle *h) |
Close an open file. More... | |
const struct GNUNET_DISK_FileHandle * | GNUNET_DISK_pipe_handle (const struct GNUNET_DISK_PipeHandle *p, enum GNUNET_DISK_PipeEnd n) |
Get the handle to a particular pipe end. More... | |
void | GNUNET_DISK_fix_permissions (const char *fn, int require_uid_match, int require_gid_match) |
Update POSIX permissions mask of a file on disk. More... | |
struct GNUNET_DISK_FileHandle * | GNUNET_DISK_get_handle_from_int_fd (int fno) |
Get a handle from a native integer FD. More... | |
struct GNUNET_DISK_FileHandle * | GNUNET_DISK_get_handle_from_native (FILE *fd) |
Get a handle from a native FD. More... | |
ssize_t | GNUNET_DISK_file_read (const struct GNUNET_DISK_FileHandle *h, void *result, size_t len) |
Read the contents of a binary file into a buffer. More... | |
ssize_t | GNUNET_DISK_fn_read (const char *fn, void *result, size_t len) |
Read the contents of a binary file into a buffer. More... | |
ssize_t | GNUNET_DISK_file_write (const struct GNUNET_DISK_FileHandle *h, const void *buffer, size_t n) |
Write a buffer to a file. More... | |
ssize_t | GNUNET_DISK_file_write_blocking (const struct GNUNET_DISK_FileHandle *h, const void *buffer, size_t n) |
Write a buffer to a file, blocking, if necessary. More... | |
enum GNUNET_GenericReturnValue | GNUNET_DISK_fn_write (const char *fn, const void *buf, size_t buf_size, enum GNUNET_DISK_AccessPermissions mode) |
Write a buffer to a file atomically. More... | |
enum GNUNET_GenericReturnValue | GNUNET_DISK_file_copy (const char *src, const char *dst) |
Copy a file. More... | |
int | GNUNET_DISK_directory_scan (const char *dir_name, GNUNET_FileNameCallback callback, void *callback_cls) |
Scan a directory for files. More... | |
int | GNUNET_DISK_glob (const char *glob_pattern, GNUNET_FileNameCallback callback, void *callback_cls) |
Find all files matching a glob pattern. More... | |
enum GNUNET_GenericReturnValue | GNUNET_DISK_directory_create_for_file (const char *filename) |
Create the directory structure for storing a file. More... | |
enum GNUNET_GenericReturnValue | GNUNET_DISK_directory_test (const char *fil, int is_readable) |
Test if fil is a directory and listable. More... | |
enum GNUNET_GenericReturnValue | GNUNET_DISK_directory_remove (const char *filename) |
Remove all files in a directory (rm -rf). More... | |
void | GNUNET_DISK_purge_cfg_dir (const struct GNUNET_OS_ProjectData *pd, const char *cfg_filename, const char *option) |
Remove the directory given under option in section [PATHS] in configuration under cfg_filename. More... | |
enum GNUNET_GenericReturnValue | GNUNET_DISK_directory_create (const char *dir) |
Implementation of "mkdir -p". More... | |
void | GNUNET_DISK_filename_canonicalize (char *fn) |
Removes special characters as ':' from a filename. More... | |
enum GNUNET_GenericReturnValue | GNUNET_DISK_file_change_owner (const char *filename, const char *user) |
Change owner of a file. More... | |
void * | GNUNET_DISK_file_map (const struct GNUNET_DISK_FileHandle *h, struct GNUNET_DISK_MapHandle **m, enum GNUNET_DISK_MapType access, size_t len) |
Map a file into memory. More... | |
enum GNUNET_GenericReturnValue | GNUNET_DISK_file_unmap (struct GNUNET_DISK_MapHandle *h) |
Unmap a file. More... | |
enum GNUNET_GenericReturnValue | GNUNET_DISK_file_sync (const struct GNUNET_DISK_FileHandle *h) |
Write file changes to disk. More... | |
Disk IO APIs.
Definition in file gnunet_disk_lib.h.