Function tskit::bindings::kastore_open[][src]

pub unsafe extern "C" fn kastore_open(
    self_: *mut kastore_t,
    filename: *const c_char,
    mode: *const c_char,
    flags: c_int
) -> c_int
Expand description

@brief Open a store from a given file in read (“r”), write (“w”) or append (“a”) mode.

@rst In read mode, a store can be queried using the :ref:get functions <sec_c_api_get> and any attempts to write to the store will return an error. In write and append mode, the store can written to using the :ref:put functions <sec_c_api_put> and any attempt to read will return an error.

After :c:func:kastore_open has been called on a particular store, :c:func:kastore_close must be called to avoid leaking memory. This must also be done when :c:func:kastore_open returns an error.

When opened in read-mode, the default is to read key/array values from file on demand. This is useful when a subset of the data is required and we don’t wish to read the entire file. If the entire file is to be read, the KAS_READ_ALL flag may be specified to improve performance.

Flags**

KAS_READ_ALL If this option is specified, read the entire file at open time. This will give slightly better performance as the file can be read sequentially in a single pass.

@endrst

@param self A pointer to a kastore object. @param filename The file path to open. @param mode The open mode: can be read (“r”), write (“w”) or append (“a”). @param flags The open flags. @return Return 0 on success or a negative value on failure.