SYNOPSIS
#include <getdata.h>- int gd_metaflush(DIRFILE *dirfile);
DESCRIPTION
Metadata is written to disk using the current Standards Version as stored in the dirfile object. See gd_dirfile_standards(3) to change or report the current Standards Version. If the dirfile metadata conforms to no known Standards Version, a Standards non-compliant fragment will be written.
This function flushes only metadata. To flush the field data as well, call gd_sync(3) instead.
RETURN VALUE
On success, zero is returned. On error, -1 is returned and the dirfile error is set to a non-zero error value. Possible error values are:- GD_E_ACCMODE
- The supplied dirfile was opened in read-only mode.
- GD_E_ALLOC
- The library was unable to allocate memory.
- GD_E_BAD_DIRFILE
- The supplied dirfile was invalid.
- GD_E_IO
- An I/O error occurred while trying to write modified metadata to disk.
- GD_E_LINE_TOO_LONG
- While attempting to flush modified metadata to disk, a field specification line exceeded the maximum allowed length. On most platforms, the maximum length is at least 2**31 bytes, so this typically indicates something pathological happening.
The dirfile error may be retrieved by calling gd_error(3). A descriptive error string for the last error encountered can be obtained from a call to gd_error_string(3).