The Open Group Base Specifications Issue 8
IEEE Std 1003.1-2024
Copyright © 2001-2024 The IEEE and The Open Group

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() 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 *);

The following sections are informative.

APPLICATION USAGE

None.

RATIONALE

None.

FUTURE DIRECTIONS

None.

SEE ALSO

<sys/types.h>

XSH glob

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

The GLOB_NOSYS constant is marked obsolescent.

IEEE Std 1003.1-2001/Cor 1-2002, item XBD/TC1/D6/8 is applied, correcting the glob() 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.

End of informative text.

 

return to top of page

UNIX® is a registered Trademark of The Open Group.
POSIX™ is a Trademark of The IEEE.
Copyright © 2001-2024 The IEEE and The Open Group, All Rights Reserved
[ Main Index | XBD | XSH | XCU | XRAT ]