summaryrefslogtreecommitdiffstats
path: root/bsd/freebsd/contrib/ntp/include/lib_strbuf.h
diff options
context:
space:
mode:
Diffstat (limited to 'bsd/freebsd/contrib/ntp/include/lib_strbuf.h')
-rw-r--r--bsd/freebsd/contrib/ntp/include/lib_strbuf.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/bsd/freebsd/contrib/ntp/include/lib_strbuf.h b/bsd/freebsd/contrib/ntp/include/lib_strbuf.h
new file mode 100644
index 0000000..5ee92d6
--- /dev/null
+++ b/bsd/freebsd/contrib/ntp/include/lib_strbuf.h
@@ -0,0 +1,32 @@
+/*
+ * lib_strbuf.h - definitions for routines which use the common string buffers
+ */
+#ifndef LIB_STRBUF_H
+#define LIB_STRBUF_H
+
+#include <ntp_types.h>
+#include <ntp_malloc.h> /* for ZERO() */
+
+/*
+ * Sizes of things
+ */
+#define LIB_NUMBUF 16
+#define LIB_BUFLENGTH 128
+
+typedef char libbufstr[LIB_BUFLENGTH];
+extern libbufstr lib_stringbuf[LIB_NUMBUF];
+extern int lib_nextbuf;
+extern int lib_inited;
+
+
+/*
+ * Macro to get a pointer to the next buffer
+ */
+#define LIB_GETBUF(bufp) \
+ do { \
+ ZERO(lib_stringbuf[lib_nextbuf]); \
+ (bufp) = &lib_stringbuf[lib_nextbuf++][0]; \
+ lib_nextbuf %= COUNTOF(lib_stringbuf); \
+ } while (FALSE)
+
+#endif /* LIB_STRBUF_H */