gd_protection(3) report the protection level of a dirfile fragment

SYNOPSIS

#include <getdata.h>
int gd_protection(DIRFILE *dirfile, int fragment_index);

DESCRIPTION

The gd_protection() function queries a dirfile(5) database specified by dirfile and returns the advisory protection level for the fragment indexed by fragment_index.

RETURN VALUE

Upon successful completion, gd_protection() returns the advisory protection level of the specified fragment, which will be one of the following symbols.
GD_PROTECT_NONE,~GD_PROTECT_FORMAT,~GD_PROTECT_DATA,~ GD_PROTECT_ALL.

The meaning of these symbols are explained in the gd_alter_protection(3) man page. On error, it returns -1 and sets the dirfile error to a non-zero error value. Possible error values are:

GD_E_BAD_DIRFILE
The supplied dirfile was invalid.
GD_E_BAD_INDEX
The supplied index was out of range.

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