mirror of
https://git.musl-libc.org/git/musl
synced 2025-01-08 07:42:09 +03:00
25e6fee27f
these badly pollute the namespace with macros whenever _GNU_SOURCE is defined, which is always the case with g++, and especially tends to interfere with C++ constructs. as our implementation of these was macro-only, their removal cannot affect any existing binaries. at the source level, portable software should be prepared for them not to exist. for now, they are left in place with explicit _LARGEFILE64_SOURCE. this provides an easy temporary path for integrators/distributions to get packages building again right away if they break while working on a proper, upstreamable fix. the intent is that this be a very short-term measure and that the macros be removed entirely in the next release cycle.
53 lines
901 B
C
53 lines
901 B
C
#ifndef _GLOB_H
|
|
#define _GLOB_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include <features.h>
|
|
|
|
#define __NEED_size_t
|
|
|
|
#include <bits/alltypes.h>
|
|
|
|
typedef struct {
|
|
size_t gl_pathc;
|
|
char **gl_pathv;
|
|
size_t gl_offs;
|
|
int __dummy1;
|
|
void *__dummy2[5];
|
|
} glob_t;
|
|
|
|
int glob(const char *__restrict, int, int (*)(const char *, int), glob_t *__restrict);
|
|
void globfree(glob_t *);
|
|
|
|
#define GLOB_ERR 0x01
|
|
#define GLOB_MARK 0x02
|
|
#define GLOB_NOSORT 0x04
|
|
#define GLOB_DOOFFS 0x08
|
|
#define GLOB_NOCHECK 0x10
|
|
#define GLOB_APPEND 0x20
|
|
#define GLOB_NOESCAPE 0x40
|
|
#define GLOB_PERIOD 0x80
|
|
|
|
#define GLOB_TILDE 0x1000
|
|
#define GLOB_TILDE_CHECK 0x4000
|
|
|
|
#define GLOB_NOSPACE 1
|
|
#define GLOB_ABORTED 2
|
|
#define GLOB_NOMATCH 3
|
|
#define GLOB_NOSYS 4
|
|
|
|
#if defined(_LARGEFILE64_SOURCE)
|
|
#define glob64 glob
|
|
#define globfree64 globfree
|
|
#define glob64_t glob_t
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|