]>
git.ipfire.org Git - thirdparty/bird.git/blob - lib/string.h
2 * BIRD Library -- String Functions
4 * (c) 1998 Martin Mares <mj@ucw.cz>
6 * Can be freely distributed and used under the terms of the GNU GPL.
9 #ifndef _BIRD_STRING_H_
10 #define _BIRD_STRING_H_
16 #include "lib/resource.h"
18 int bsprintf(char *str
, const char *fmt
, ...);
19 int bvsprintf(char *str
, const char *fmt
, va_list args
);
20 int bsnprintf(char *str
, int size
, const char *fmt
, ...);
21 int bvsnprintf(char *str
, int size
, const char *fmt
, va_list args
);
23 int buffer_vprint(buffer
*buf
, const char *fmt
, va_list args
);
24 int buffer_print(buffer
*buf
, const char *fmt
, ...);
25 void buffer_puts(buffer
*buf
, const char *str
);
27 u64
bstrtoul10(const char *str
, char **end
);
28 u64
bstrtoul16(const char *str
, char **end
);
30 int patmatch(const byte
*pat
, const byte
*str
);
32 static inline char *xbasename(const char *str
)
34 char *s
= strrchr(str
, '/');
35 return s
? s
+1 : (char *) str
;
39 xstrdup(const char *c
)
41 size_t l
= strlen(c
) + 1;
48 lp_strdup(linpool
*lp
, const char *c
)
50 size_t l
= strlen(c
) + 1;
51 char *z
= lp_allocu(lp
, l
);
57 memset32(void *D
, u32 val
, uint n
)
62 for (i
= 0; i
< n
; i
++)
67 bstrcmp(const char *s1
, const char *s2
)
70 return strcmp(s1
, s2
);
75 #define ROUTER_ID_64_LENGTH 23