GD_METAFLUSH(3) - man page online | library functions

Write modified dirfile metadata to disk.

16 October 2014
gd_metaflush(3)                              GETDATA                              gd_metaflush(3)


gd_metaflush — write modified dirfile metadata to disk


#include <getdata.h> int gd_metaflush(DIRFILE *dirfile);


The gd_metaflush() function flushes all pending metadata changes in the dirfile specified by dirfile to disk. This is accomplished by re-writing the format specification fragments containing modified metadata, overwriting the existing files. Format file fragments which are unchanged are not touched. 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) in‐ stead.


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).


When writing metadata using Standards Version 4 or earlier, the reference field may change, owing to the lack of a /REFERENCE directive. A work-around is to upgrade to Stan‐ dards Version 5 or later.


gd_open(3), gd_close(3), gd_dirfile_standards(3), gd_error(3), gd_error_string(3), gd_re‐ write_fragment(3), gd_sync(3)
Version 0.9.0 16 October 2014 gd_metaflush(3)
This manual Reference Other manuals
gd_metaflush(3) referred by gd_add(3) | gd_add_alias(3) | gd_add_bit(3) | gd_add_spec(3) | gd_alter_bit(3) | gd_alter_entry(3) | gd_alter_spec(3) | gd_cbopen(3) | gd_delete(3) | gd_dirfile_standards(3) | gd_flags(3) | gd_flush(3) | gd_madd_bit(3) | gd_move(3) | gd_put_string(3) | gd_reference(3) | gd_rename(3) | gd_rewrite_fragment(3)
refer to gd_cbopen(3) | gd_close(3) | gd_dirfile_standards(3) | gd_error(3) | gd_error_string(3) | gd_flush(3)