bglibs
path.h
1 #ifndef LIB__PATH__H__
2 #define LIB__PATH__H__
3 
4 #include "str.h"
5 
11 #define PATH_MATCH_DOTFILES 1
12 
13 extern int path_merge(str* path, const char* start);
14 extern int fnmatch(const char* filename, const char* pattern,
15  unsigned options);
16 extern int has_magic(const char* s);
17 extern int path_match(const char* pattern, str* result, unsigned options);
18 extern int path_contains(const char* path, const char* part);
19 extern int path_mktemp(const char* prefix, str* filename);
20 extern int path_mkdirs(const char* path, unsigned mode);
21 
24 #endif
iobuf::fd
int fd
Definition: iobuf_common.h:51
obuf_putxll
int obuf_putxll(obuf *out, unsigned long long data)
Definition: obuf_putullnumw.c:38
obuf_putuw
int obuf_putuw(obuf *out, unsigned long data, unsigned width, char pad)
Definition: obuf_putunumw.c:15
IOBUF_ERROR
#define IOBUF_ERROR
Definition: iobuf_common.h:27
obuf_putull
int obuf_putull(obuf *out, unsigned long long data)
Definition: obuf_putullnumw.c:24
obuf_putXw
int obuf_putXw(obuf *out, unsigned long data, unsigned width, char pad)
Definition: obuf_putunumw.c:41
iobuf_timeout
int iobuf_timeout(iobuf *io, int poll_out)
Definition: iobuf_timeout.c:6
obuf_put2s
int obuf_put2s(obuf *out, const char *s1, const char *s2)
Definition: obuf_put2s.c:5
obuf_putx
int obuf_putx(obuf *out, unsigned long data)
Definition: obuf_putunumw.c:34
iobuf::offset
unsigned offset
Definition: iobuf_common.h:61
obuf_error
#define obuf_error(out)
Definition: obuf.h:55
iobuf::buflen
unsigned buflen
Definition: iobuf_common.h:57
obuf_putu
int obuf_putu(obuf *out, unsigned long data)
Definition: obuf_putunumw.c:21
obuf_putxw
int obuf_putxw(obuf *out, unsigned long data, unsigned width, char pad)
Definition: obuf_putunumw.c:28
iobuf::buffer
char * buffer
Definition: iobuf_common.h:53
iobuf::timeout
unsigned timeout
Definition: iobuf_common.h:63
obuf::count
unsigned count
Definition: obuf.h:28
fmt_unumw
unsigned fmt_unumw(char *buffer, unsigned long num, unsigned width, char pad, unsigned base, const char *digits)
Definition: unum.c:38
obuf_putsllnumw
int obuf_putsllnumw(obuf *out, long long data, unsigned width, char pad, unsigned base, const char *digits)
Definition: obuf_putsllnumw.c:5
fmt_multiv
unsigned fmt_multiv(char *buffer, const char *format, va_list ap)
Definition: multi.c:152
obuf_put4s
int obuf_put4s(obuf *out, const char *s1, const char *s2, const char *s3, const char *s4)
Definition: obuf_put4s.c:5
socket_pairstr
int socket_pairstr(int fd[2])
Definition: pairstr.c:26
iobuf::bufstart
unsigned bufstart
Definition: iobuf_common.h:59
obuf_putullnumw
int obuf_putullnumw(obuf *out, unsigned long long data, unsigned width, char pad, unsigned base, const char *digits)
Definition: obuf_putullnumw.c:6
obuf_endl
int obuf_endl(obuf *out)
Definition: obuf_endl.c:4
obuf_putsnumw
int obuf_putsnumw(obuf *out, long data, unsigned width, char pad, unsigned base, const char *digits)
Definition: obuf_putsnumw.c:5
obuf_putill
int obuf_putill(obuf *out, long long data)
Definition: obuf_putsllnumw.c:21
obuf_seek
int obuf_seek(obuf *out, unsigned offset)
Definition: obuf_seek.c:7
obuf_putX
int obuf_putX(obuf *out, unsigned long data)
Definition: obuf_putunumw.c:47
iobuf_init
int iobuf_init(iobuf *io, int fd, unsigned bufsize, char *buffer, unsigned flags)
Definition: iobuf_init.c:19
path_mktemp
int path_mktemp(const char *prefix, str *filename)
Definition: mktemp.c:14
obuf_put7s
int obuf_put7s(obuf *out, const char *s1, const char *s2, const char *s3, const char *s4, const char *s5, const char *s6, const char *s7)
Definition: obuf_put7s.c:5
fmt_ucase_digits
const char fmt_ucase_digits[36]
Definition: ucase.c:4
obuf::writefn
obuf_fn writefn
Definition: obuf.h:30
obuf_puts
#define obuf_puts(out, str)
Definition: obuf.h:74
has_magic
int has_magic(const char *s)
Definition: fnmatch.c:26
obuf_pad
int obuf_pad(obuf *out, unsigned width, char ch)
Definition: obuf_pad.c:4
path_match
int path_match(const char *pattern, str *result, unsigned options)
Definition: path/match.c:130
obuf_copyfromfd
int obuf_copyfromfd(int in, obuf *out)
Definition: obuf_copyfromfd.c:5
obuf_put6s
int obuf_put6s(obuf *out, const char *s1, const char *s2, const char *s3, const char *s4, const char *s5, const char *s6)
Definition: obuf_put6s.c:5
errbuf
obuf errbuf
Definition: obuf_stderr.c:7
obuf_init
int obuf_init(obuf *out, int fd, obuf_fn fn, unsigned flags, unsigned bufsize)
Definition: obuf_init.c:5
obuf_putiw
int obuf_putiw(obuf *out, long data, unsigned width, char pad)
Definition: obuf_putsnumw.c:15
obuf::bufpos
unsigned bufpos
Definition: obuf.h:26
obuf_putuwll
int obuf_putuwll(obuf *out, unsigned long long data, unsigned width, char pad)
Definition: obuf_putullnumw.c:18
obuf::io
iobuf io
Definition: obuf.h:24
fmt_snumw
unsigned fmt_snumw(char *buffer, long num, unsigned width, char pad, unsigned base, const char *digits)
Definition: snum.c:35
obuf_write
int obuf_write(obuf *out, const char *data, unsigned datalen)
Definition: obuf_write.c:30
obuf_put5s
int obuf_put5s(obuf *out, const char *s1, const char *s2, const char *s3, const char *s4, const char *s5)
Definition: obuf_put5s.c:5
iobuf::errnum
int errnum
Definition: iobuf_common.h:67
obuf_putiwll
int obuf_putiwll(obuf *out, long long data, unsigned width, char pad)
Definition: obuf_putsllnumw.c:15
obuf_putXwll
int obuf_putXwll(obuf *out, unsigned long long data, unsigned width, char pad)
Definition: obuf_putullnumw.c:45
IOBUF_SET_ERROR
#define IOBUF_SET_ERROR(io)
Definition: iobuf_common.h:72
socket_pairdgm
int socket_pairdgm(int fd[2])
Definition: pairdgm.c:26
fmt_ullnumw
unsigned fmt_ullnumw(char *buffer, unsigned long long num, unsigned width, char pad, unsigned base, const char *digits)
Definition: ullnum.c:39
path_merge
int path_merge(str *path, const char *start)
Definition: merge.c:54
obuf_putf
int obuf_putf(obuf *out, const char *format,...)
Definition: obuf_putf.c:26
obuf_flush
int obuf_flush(obuf *out)
Definition: obuf_flush.c:6
obuf_putns
int obuf_putns(obuf *out, unsigned int count,...)
Definition: obuf_putns.c:6
fmt_pad
unsigned fmt_pad(char *buffer, unsigned width, char pad)
Definition: pad.c:5
iobuf::flags
unsigned flags
Definition: iobuf_common.h:65
obuf_putunumw
int obuf_putunumw(obuf *out, unsigned long data, unsigned width, char pad, unsigned base, const char *digits)
Definition: obuf_putunumw.c:5
IOBUF_NEEDSCLOSE
#define IOBUF_NEEDSCLOSE
Definition: iobuf_common.h:35
iobuf_close
int iobuf_close(iobuf *io)
Definition: iobuf_close.c:8
iobuf_bad
#define iobuf_bad(io)
Definition: iobuf_common.h:89
IOBUF_SEEKABLE
#define IOBUF_SEEKABLE
Definition: iobuf_common.h:33
outbuf
obuf outbuf
Definition: obuf_stdout.c:7
path_mkdirs
int path_mkdirs(const char *path, unsigned mode)
Definition: mkdirs.c:16
obuf_write_large
int obuf_write_large(obuf *out, const char *data, unsigned datalen)
Definition: obuf_write.c:7
obuf_putfv
int obuf_putfv(obuf *out, const char *format, va_list ap)
Definition: obuf_putf.c:6
fmt_lcase_digits
const char fmt_lcase_digits[36]
Definition: lcase.c:4
obuf_sign_pad
int obuf_sign_pad(obuf *out, int sign, unsigned width, char pad)
Definition: obuf_sign_pad.c:10
obuf_put3s
int obuf_put3s(obuf *out, const char *s1, const char *s2, const char *s3)
Definition: obuf_put3s.c:5
obuf_fn
int(* obuf_fn)(int, const void *, unsigned long)
Definition: obuf.h:18
path_contains
int path_contains(const char *path, const char *part)
Definition: contains.c:27
fmt_sllnumw
unsigned fmt_sllnumw(char *buffer, long long num, unsigned width, char pad, unsigned base, const char *digits)
Definition: sllnum.c:36
obuf
Definition: obuf.h:21
fnmatch
int fnmatch(const char *filename, const char *pattern, unsigned options)
Definition: fnmatch.c:32
obuf_puti
int obuf_puti(obuf *out, long data)
Definition: obuf_putsnumw.c:21
obuf_putxwll
int obuf_putxwll(obuf *out, unsigned long long data, unsigned width, char pad)
Definition: obuf_putullnumw.c:31
iobuf::bufsize
unsigned bufsize
Definition: iobuf_common.h:55
iobuf
Definition: iobuf_common.h:48
obuf_putXll
int obuf_putXll(obuf *out, unsigned long long data)
Definition: obuf_putullnumw.c:52
str
Definition: str.h:30
obuf_putnetstring
int obuf_putnetstring(obuf *out, const char *data, unsigned datalen)
Definition: obuf_putnetstring.c:4
obuf_open
int obuf_open(obuf *out, const char *filename, int oflags, int mode, unsigned bufsize)
Definition: obuf_open.c:4
obuf_sync
int obuf_sync(obuf *out)
Definition: obuf_sync.c:6
obuf_putsflush
int obuf_putsflush(obuf *out, const char *str)
Definition: obuf_putsflush.c:5
obuf_close
int obuf_close(obuf *out)
Definition: obuf_close.c:4
obuf_putc
int obuf_putc(obuf *out, char ch)
Definition: obuf_putc.c:4