GENDERS_LOAD_DATA(3)

NAME
genders_load_data - read and parse a genders file

SYNOPSIS
#include <genders.h>

int genders_load_data(genders_t handle, const char *filename);

DESCRIPTION
genders_load_data() read and parses the genders file indicated by filename. If filename is NULL, genders_load_data() will attempt to read and parse the default genders file defined by GENDERS_DEFAULT_FILE. handle is a genders handle created by genders_handle_create(3). After genders_load_data() is called, information about the genders file is stored in the genders handle passed in. This information is used by other genders C API functions. All future use of handle with other genders C API functions will be directly associated with the genders file indicated by filename (or the default genders file if filename is NULL).

RETURN VALUES
On success, 0 is returned. On error, -1 is returned, and an error code is returned in handle. The error code can be retrieved via genders_errnum(3) , and a description of the error code can be retrieved via genders_strerror(3). Error codes are defined in genders.h.

ERRORS

GENDERS_ERR_NULLHANDLE
    The handle parameter is NULL. The genders handle must be created with genders_handle_create(3).

GENDERS_ERR_OPEN
    The genders file indicated by filename cannot be opened for reading.

GENDERS_ERR_READ
    Error reading the genders file indicated by filename.

GENDERS_ERR_PARSE
    The genders file indicated by filename is incorrectly formatted.

GENDERS_ERR_ISLOADED
    genders_load_data(3) has already been called with handle.

GENDERS_ERR_OVERFLOW
    A line in the genders database exceeds the maximum allowed length.

GENDERS_ERR_OUTMEM
    malloc(3) has failed internally, system is out of memory.

GENDERS_ERR_MAGIC
    handle has an incorrect magic number. handle does not point to a genders handle or handle has been destroyed by genders_handle_destroy(3).

GENDERS_ERR_INTERNAL
    An internal system error has occurred.

FILES
/usr/include/genders.h

SEE ALSO
libgenders(3), genders_handle_create(3), genders_handle_destroy(3), genders_errnum(3), genders_strerror(3)