The fnmatch() function checks whether the string argument matches the pattern argument, which is a shell wildcard pattern.
The flags argument modifies the behaviour; it is the bitwise OR of zero or more of the following flags:
If this flag is set, treat backslash as an ordinary character, instead of an escape character.
If this flag is set, match a slash in string only with a slash in pattern and not, for example, with a [? - sequence containing a slash.
If this flag is set, a leading period in string has to be matched exactly by a period in pattern. A period is considered to be leading if it is the first character in string, or if both FNM_PATHNAME is set and the period immediately follows a slash.
This is a GNU synonym for FNM_PATHNAME.
If this flag (a GNU extension) is set, the pattern is considered to be matched if it matches an initial segment of string which is followed by a slash. This flag is mainly for the internal use of glibc and is only implemented in certain cases.