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. | |
| 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). | |
| enum GNUNET_GenericReturnValue | GNUNET_DISK_file_test_read (const char *fil) |
| Check that fil corresponds to a filename and the file has read permissions. | |
| 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. | |
| 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. | |
| 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). | |
| 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. | |
| char * | GNUNET_DISK_mktemp (const char *t) |
| Create an (empty) temporary file on disk. | |
| char * | GNUNET_DISK_mkdtemp (const char *t) |
| Create an (empty) temporary directory on disk. | |
| struct GNUNET_DISK_FileHandle * | GNUNET_DISK_file_open (const char *fn, enum GNUNET_DISK_OpenFlags flags, enum GNUNET_DISK_AccessPermissions perm) |
| Open a file. | |
| enum GNUNET_GenericReturnValue | GNUNET_DISK_file_handle_size (struct GNUNET_DISK_FileHandle *fh, off_t *size) |
| Get the size of an open file. | |
| struct GNUNET_DISK_PipeHandle * | GNUNET_DISK_pipe (enum GNUNET_DISK_PipeFlags pf) |
| Creates an interprocess channel. | |
| 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. | |
| enum GNUNET_GenericReturnValue | GNUNET_DISK_pipe_close (struct GNUNET_DISK_PipeHandle *p) |
| Closes an interprocess channel. | |
| 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. | |
| 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. | |
| enum GNUNET_GenericReturnValue | GNUNET_DISK_file_close (struct GNUNET_DISK_FileHandle *h) |
| Close an open file. | |
| 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. | |
| 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. | |
| struct GNUNET_DISK_FileHandle * | GNUNET_DISK_get_handle_from_int_fd (int fno) |
| Get a handle from a native integer FD. | |
| struct GNUNET_DISK_FileHandle * | GNUNET_DISK_get_handle_from_native (FILE *fd) |
| Get a handle from a native FD. | |
| 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. | |
| ssize_t | GNUNET_DISK_fn_read (const char *fn, void *result, size_t len) |
| Read the contents of a binary file into a buffer. | |
| ssize_t | GNUNET_DISK_file_write (const struct GNUNET_DISK_FileHandle *h, const void *buffer, size_t n) |
| Write a buffer to a file. | |
| 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. | |
| 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. | |
| enum GNUNET_GenericReturnValue | GNUNET_DISK_file_copy (const char *src, const char *dst) |
| Copy a file. | |
| int | GNUNET_DISK_directory_scan (const char *dir_name, GNUNET_FileNameCallback callback, void *callback_cls) |
| Scan a directory for files. | |
| int | GNUNET_DISK_glob (const char *glob_pattern, GNUNET_FileNameCallback callback, void *callback_cls) |
| Find all files matching a glob pattern. | |
| enum GNUNET_GenericReturnValue | GNUNET_DISK_directory_create_for_file (const char *filename) |
| Create the directory structure for storing a file. | |
| enum GNUNET_GenericReturnValue | GNUNET_DISK_directory_test (const char *fil, int is_readable) |
| Test if fil is a directory and listable. | |
| enum GNUNET_GenericReturnValue | GNUNET_DISK_directory_remove (const char *filename) |
| Remove all files in a directory (rm -rf). | |
| 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. | |
| enum GNUNET_GenericReturnValue | GNUNET_DISK_directory_create (const char *dir) |
| Implementation of "mkdir -p". | |
| void | GNUNET_DISK_filename_canonicalize (char *fn) |
| Removes special characters as ':' from a filename. | |
| enum GNUNET_GenericReturnValue | GNUNET_DISK_file_change_owner (const char *filename, const char *user) |
| Change owner of a file. | |
| 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. | |
| enum GNUNET_GenericReturnValue | GNUNET_DISK_file_unmap (struct GNUNET_DISK_MapHandle *h) |
| Unmap a file. | |
| enum GNUNET_GenericReturnValue | GNUNET_DISK_file_sync (const struct GNUNET_DISK_FileHandle *h) |
| Write file changes to disk. | |
Disk IO APIs.
Definition in file gnunet_disk_lib.h.