NAME
glob.h — pathname
pattern-matching types
SYNOPSIS
#include
<glob.h>
DESCRIPTION
The <glob.h> header shall define the structures and symbolic constants used by the glob(3) function.
The <glob.h> header shall define the glob_t structure type, which shall include at least the following members:
size_t gl_pathc Count of paths matched by pattern. char **gl_pathv Pointer to a list of matched pathnames. size_t gl_offs Slots to reserve at the beginning of gl_pathv.
The <glob.h> header shall define the size_t type as described in <sys/types.h>.
The <glob.h> header shall define the following symbolic constants as values for the flags argument:
- GLOB_APPEND
- Append generated pathnames to those previously obtained.
- GLOB_DOOFFS
- Specify how many null pointers to add to the beginning of gl_pathv .
- GLOB_ERR
- Cause glob () to return on error.
- GLOB_MARK
- Each pathname that is a directory that matches pattern has a <slash> appended.
- GLOB_NOCHECK
- If pattern does not match any pathname, then return a list consisting of only pattern .
- GLOB_NOESCAPE
- Disable backslash escaping.
- GLOB_NOSORT
- Do not sort the pathnames returned.
The <glob.h> header shall define the following symbolic constants as error return values:
- GLOB_ABORTED
- The scan was stopped because GLOB_ERR was set or (* errfunc )() returned non-zero.
- GLOB_NOMATCH
- The pattern does not match any existing pathname, and GLOB_NOCHECK was not set in flags .
- GLOB_NOSPACE
- An attempt to allocate memory failed.
The following shall be declared as functions and may also be defined as macros. Function prototypes shall be provided.
int glob(const char *restrict, int, int(*)(const char *, int),
glob_t *restrict);
void globfree(glob_t *);
APPLICATION USAGE
None.
RATIONALE
None.
FUTURE DIRECTIONS
None.
SEE ALSO
XSH glob(3)
CHANGE HISTORY
First released in Issue 4. Derived from the ISO POSIX-2 standard.
Issue 6
The restrict keyword is added to the prototype for glob(3).
The GLOB_NOSYS constant is marked obsolescent.
IEEE Std 1003.1-2001 (“POSIX.1”)/Cor 1-2002, item XBD/TC1/D6/8 is applied, correcting the glob(3) prototype definition by removing the restrict qualifier from the function pointer argument.
Issue 7
SD5-XBD-ERN-56 is applied, adding a reference to <sys/types.h> for the size_t
The obsolescent GLOB_NOSYS constant is removed.
This reference page is clarified with respect to macros and symbolic constants.