Annotation of embedaddon/bird2/lib/string.h, revision 1.1
1.1 ! misho 1: /*
! 2: * BIRD Library -- String Functions
! 3: *
! 4: * (c) 1998 Martin Mares <mj@ucw.cz>
! 5: *
! 6: * Can be freely distributed and used under the terms of the GNU GPL.
! 7: */
! 8:
! 9: #ifndef _BIRD_STRING_H_
! 10: #define _BIRD_STRING_H_
! 11:
! 12: #include <stdarg.h>
! 13: #include <string.h>
! 14: #include <strings.h>
! 15:
! 16: #include "lib/resource.h"
! 17:
! 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);
! 22:
! 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);
! 26:
! 27: u64 bstrtoul10(const char *str, char **end);
! 28: u64 bstrtoul16(const char *str, char **end);
! 29:
! 30: int patmatch(const byte *pat, const byte *str);
! 31:
! 32: static inline char *xbasename(const char *str)
! 33: {
! 34: char *s = strrchr(str, '/');
! 35: return s ? s+1 : (char *) str;
! 36: }
! 37:
! 38: static inline char *
! 39: xstrdup(const char *c)
! 40: {
! 41: size_t l = strlen(c) + 1;
! 42: char *z = xmalloc(l);
! 43: memcpy(z, c, l);
! 44: return z;
! 45: }
! 46:
! 47: static inline char *
! 48: lp_strdup(linpool *lp, const char *c)
! 49: {
! 50: size_t l = strlen(c) + 1;
! 51: char *z = lp_allocu(lp, l);
! 52: memcpy(z, c, l);
! 53: return z;
! 54: }
! 55:
! 56: static inline void
! 57: memset32(void *D, u32 val, uint n)
! 58: {
! 59: u32 *dst = D;
! 60: uint i;
! 61:
! 62: for (i = 0; i < n; i++)
! 63: dst[i] = val;
! 64: }
! 65:
! 66: static inline int
! 67: bstrcmp(const char *s1, const char *s2)
! 68: {
! 69: if (s1 && s2)
! 70: return strcmp(s1, s2);
! 71: else
! 72: return !s2 - !s1;
! 73: }
! 74:
! 75: #define ROUTER_ID_64_LENGTH 23
! 76:
! 77: #endif
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>