summaryrefslogtreecommitdiff
path: root/stream/upb_text.h
diff options
context:
space:
mode:
Diffstat (limited to 'stream/upb_text.h')
-rw-r--r--stream/upb_text.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/stream/upb_text.h b/stream/upb_text.h
new file mode 100644
index 0000000..d89c9d6
--- /dev/null
+++ b/stream/upb_text.h
@@ -0,0 +1,36 @@
+/*
+ * upb - a minimalist implementation of protocol buffers.
+ *
+ * Copyright (c) 2009 Joshua Haberman. See LICENSE for details.
+ */
+
+#ifndef UPB_TEXT_H_
+#define UPB_TEXT_H_
+
+#include "upb.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct {
+ int indent_depth;
+ bool single_line;
+} upb_text_printer;
+
+INLINE void upb_text_printer_init(upb_text_printer *p, bool single_line) {
+ p->indent_depth = 0;
+ p->single_line = single_line;
+}
+void upb_text_printval(upb_field_type_t type, upb_value p, FILE *file);
+void upb_text_printfield(upb_text_printer *p, upb_strptr name,
+ upb_field_type_t valtype, upb_value val, FILE *stream);
+void upb_text_push(upb_text_printer *p, upb_strptr submsg_type,
+ FILE *stream);
+void upb_text_pop(upb_text_printer *p, FILE *stream);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* UPB_TEXT_H_ */
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback