summaryrefslogtreecommitdiff
path: root/src/til_stream.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/til_stream.h')
-rw-r--r--src/til_stream.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/til_stream.h b/src/til_stream.h
new file mode 100644
index 0000000..91eaa55
--- /dev/null
+++ b/src/til_stream.h
@@ -0,0 +1,27 @@
+#ifndef _TIL_STREAM_H
+#define _TIL_STREAM_H
+
+#include <stddef.h>
+#include <stdint.h>
+
+#include "til_module_context.h"
+
+typedef struct til_stream_t til_stream_t;
+typedef struct til_tap_t til_tap_t;
+
+til_stream_t * til_stream_new(void);
+til_stream_t * til_stream_free(til_stream_t *stream);
+
+/* bare interface for non-module-context owned taps */
+int til_stream_tap(til_stream_t *stream, const void *tap_owner, const char *parent_path, uint32_t parent_hash, const til_tap_t *tap);
+
+/* convenience helper for use within modules */
+static inline int til_stream_tap_context(til_stream_t *stream, const til_module_context_t *module_context, const til_tap_t *tap)
+{
+ return til_stream_tap(stream, module_context, module_context->path, module_context->path_hash, tap);
+}
+
+void til_stream_untap_owner(til_stream_t *stream, const void *owner);
+void til_stream_fprint(til_stream_t *stream, FILE *out);
+
+#endif
© All Rights Reserved