GRU - Generic Reusable Utilities
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
Functions
gru_ioutils.h File Reference
#include <errno.h>
#include <fcntl.h>
#include <stdbool.h>
#include <stdio.h>
#include <unistd.h>
#include <stdarg.h>
#include <string.h>
#include <sys/stat.h>
#include <sys/types.h>
#include "common/gru_portable.h"
#include "common/gru_status.h"
#include "gru_path.h"

Go to the source code of this file.

Functions

gru_export bool gru_io_remap (const char *dir, const char *name, FILE *fd, gru_status_t *status)
 IO utilities. More...
 
gru_export FILE * gru_io_open_file (const char *dir, const char *name, gru_status_t *status)
 Tries to safely open a file (ie. More...
 
gru_export FILE * gru_io_open_file_path (const char *path, gru_status_t *status)
 Tries to safely open a file (ie. More...
 
gru_export FILE * gru_io_open_file_read (const char *dir, const char *name, gru_status_t *status)
 Tries to safely open a file (ie. More...
 
gru_export FILE * gru_io_open_file_read_path (const char *path, gru_status_t *status)
 Tries to safely open a file (ie. More...
 
gru_export FILE * gru_io_open_unique_file (const char *dir, const char *name, gru_status_t *status)
 Tries to safely open a file (ie. More...
 
gru_export size_t gru_io_read_text_into (char **dest, FILE *file, gru_status_t *status)
 Reads the file pointed by file into the destination buffer. More...
 

Function Documentation

gru_export FILE* gru_io_open_file ( const char *  dir,
const char *  name,
gru_status_t status 
)

Tries to safely open a file (ie.

: creating directories and stuff). Truncates the file

Parameters
dirdirectory of the file
namename of the file
statusstatus structure containing error code/description in case of failure
Returns
a FILE descriptor for the opened file or NULL otherwise (in this case, check status)
gru_export FILE* gru_io_open_file_path ( const char *  path,
gru_status_t status 
)

Tries to safely open a file (ie.

: creating directories and stuff). Truncates the file

Parameters
pathpath to the file
statusstatus structure containing error code/description in case of failure
Returns
a FILE descriptor for the opened file or NULL otherwise (in this case, check status)
gru_export FILE* gru_io_open_file_read ( const char *  dir,
const char *  name,
gru_status_t status 
)

Tries to safely open a file (ie.

: creating directories and stuff)

Parameters
dirdirectory of the file
namename of the file
statusstatus structure containing error code/description in case of failure
Returns
a FILE descriptor for the opened file or NULL otherwise (in this case, check status)
gru_export FILE* gru_io_open_file_read_path ( const char *  path,
gru_status_t status 
)

Tries to safely open a file (ie.

: creating directories and stuff)

Parameters
pathpath to the file
statusstatus structure containing error code/description in case of failure
Returns
a FILE descriptor for the opened file or NULL otherwise (in this case, check status)
gru_export FILE* gru_io_open_unique_file ( const char *  dir,
const char *  name,
gru_status_t status 
)

Tries to safely open a file (ie.

: creating directories and stuff)

Parameters
dirdirectory of the file
namename of the file
statusstatus structure containing error code/description in case of failure
Returns
a FILE descriptor for the opened file or NULL otherwise (in this case, check status)
gru_export size_t gru_io_read_text_into ( char **  dest,
FILE *  file,
gru_status_t status 
)

Reads the file pointed by file into the destination buffer.

The memory for the allocation buffer is allocated as needed and must be free'd after use

Parameters
destthe destination buffer
filethe file to read
statusstatus structure containing error code/description in case of failure
Returns
the amount of bytes read of 0 in case of error
gru_export bool gru_io_remap ( const char *  dir,
const char *  name,
FILE *  fd,
gru_status_t status 
)

IO utilities.

Lot's of nonsense here. Most will be fixed/rewritten in the future. Remaps IO from one file descriptor to a file pointed by dir/name

Parameters
dirdirectory of the file
namename of the file
fdfile descriptor to remap
statusstatus structure containing error code/description in case of failure
Returns
true if remaped or false otherwise (in this case, check status)