aboutsummaryrefslogtreecommitdiff
path: root/Src/nsmkv/vint.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/nsmkv/vint.h')
-rw-r--r--Src/nsmkv/vint.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/Src/nsmkv/vint.h b/Src/nsmkv/vint.h
new file mode 100644
index 00000000..03c7c284
--- /dev/null
+++ b/Src/nsmkv/vint.h
@@ -0,0 +1,14 @@
+#pragma once
+#include <bfc/platform/types.h>
+
+uint8_t vint_get_number_bytes(uint8_t first_byte);
+/* call if you already know the len (e.g. from vint_get_number_bytes earlier */
+uint64_t vint_read_ptr_len(uint8_t len, const uint8_t *ptr);
+int64_t vsint_read_ptr_len(uint8_t len, const uint8_t *ptr);
+
+/* don't call this unless you're sure that you have enough room in the buffer! */
+uint64_t vint_read_ptr(const uint8_t *ptr);
+int64_t vsint_read_ptr(const uint8_t *ptr);
+
+/* values encoded as all 1's are supposed to indicate 'unknown value' */
+bool vint_unknown_length(uint8_t len, const uint8_t *ptr); \ No newline at end of file