xenial (3) gd_sync.3.gz

Provided by: libgetdata-doc_0.9.0-2.2_all bug

NAME

       gd_flush gd_raw_close gd_sync — write all pending dirfile changes to disk or close open raw fields

SYNOPSIS

       #include <getdata.h>

       int gd_flush(DIRFILE *dirfile, const char *field_code);

       int gd_raw_close(DIRFILE *dirfile, const char *field_code);

       int gd_sync(DIRFILE *dirfile, const char *field_code);

DESCRIPTION

       The  gd_sync()  function flushes all pending writes to disk of raw data files associated with field_code,
       or its input(s), in the dirfile specified by dirfile.  If the field_code contains a valid  representation
       suffix,  it  will  be  ignored.   As a special case, if field_code is NULL, all fields in dirfile will be
       flushed.  In this special case, modified metadata will also be flushed to disk as if gd_metaflush(3)  had
       been  called.   If the dirfile has been opened read-only, this function does nothing.  Additionally, some
       encoding schemes may implement this as a NOP.

       The gd_raw_close() function  closes  any  raw  data  files  which  GetData  has  opened  associated  with
       field_code,  or  its  input(s).   Again,  if field_code is NULL, all open data files are closed.  The I/O
       pointer of any RAW field which is closed is reset to the beginning-of-field.

       Calling gd_flush() is essentially equivalent to calling first gd_sync() and then gd_raw_close()  (ie.  it
       does  both  tasks),  although,  if  field_code  is NULL, the order of operations if may be different than
       making the two explicit calls.

RETURN VALUE

       On success, these functions return zero.  On error, -1 is returned and the dirfile error is set to a non-
       zero error value.  Possible error values are:

       GD_E_ALLOC
               The library was unable to allocate memory.

       GD_E_BAD_CODE
               The field specified by field_code was not found in the database.

       GD_E_BAD_DIRFILE
               The supplied dirfile was invalid.

       GD_E_IO An I/O error occurred while trying to write modified data or 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.

       GD_E_RECURSE_LEVEL
               Too  many  levels of recursion were encountered while trying to resolve field_code.  This usually
               indicates a circular dependency in field specification in the dirfile.

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

SEE ALSO

       gd_open(3), gd_close(3), gd_dirfile_standards(3), gd_error(3), gd_error_string(3), gd_metaflush(3)