]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - contrib/ntp/include/lib_strbuf.h
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / contrib / ntp / include / lib_strbuf.h
1 /*
2  * lib_strbuf.h - definitions for routines which use the common string buffers
3  */
4 #ifndef LIB_STRBUF_H
5 #define LIB_STRBUF_H
6
7 #include <ntp_types.h>
8 #include <ntp_malloc.h>                 /* for ZERO() */
9
10 /*
11  * Sizes of things
12  */
13 #define LIB_NUMBUF      16
14 #define LIB_BUFLENGTH   128
15
16 typedef char libbufstr[LIB_BUFLENGTH];
17 extern libbufstr lib_stringbuf[LIB_NUMBUF];
18 extern int lib_nextbuf;
19 extern int lib_inited;
20
21
22 /*
23  * Macro to get a pointer to the next buffer
24  */
25 #define LIB_GETBUF(bufp)                                        \
26         do {                                                    \
27                 ZERO(lib_stringbuf[lib_nextbuf]);               \
28                 (bufp) = &lib_stringbuf[lib_nextbuf++][0];      \
29                 lib_nextbuf %= COUNTOF(lib_stringbuf);          \
30         } while (FALSE)
31
32 #endif  /* LIB_STRBUF_H */