summaryrefslogtreecommitdiffstats
path: root/byterun/intext.h
diff options
context:
space:
mode:
Diffstat (limited to 'byterun/intext.h')
-rw-r--r--byterun/intext.h30
1 files changed, 29 insertions, 1 deletions
diff --git a/byterun/intext.h b/byterun/intext.h
index d56432406..c346dcb44 100644
--- a/byterun/intext.h
+++ b/byterun/intext.h
@@ -48,6 +48,7 @@
#define CODE_DOUBLE_ARRAY32_LITTLE 0x7
#define CODE_CODEPOINTER 0x10
#define CODE_INFIXPOINTER 0x11
+#define CODE_CUSTOM 0x12
#ifdef ARCH_BIG_ENDIAN
#define CODE_DOUBLE_NATIVE CODE_DOUBLE_BIG
@@ -84,6 +85,34 @@ void output_val (struct channel * chan, value v, value flags);
value input_val (struct channel * chan);
value input_val_from_string (value str, long ofs);
+/* Functions for writing user-defined marshallers */
+
+extern void serialize_int_1(int i);
+extern void serialize_int_2(int i);
+extern void serialize_int_4(int32 i);
+extern void serialize_int_8(int64 i);
+extern void serialize_float_4(float f);
+extern void serialize_float_8(double f);
+extern void serialize_block_1(void * data, long len);
+extern void serialize_block_2(void * data, long len);
+extern void serialize_block_4(void * data, long len);
+extern void serialize_block_8(void * data, long len);
+
+extern int deserialize_uint_1(void);
+extern int deserialize_sint_1(void);
+extern int deserialize_uint_2(void);
+extern int deserialize_sint_2(void);
+extern uint32 deserialize_uint_4(void);
+extern int32 deserialize_sint_4(void);
+extern uint64 deserialize_uint_8(void);
+extern int64 deserialize_sint_8(void);
+extern float deserialize_float_4(void);
+extern double deserialize_float_8(void);
+extern void deserialize_block_1(void * data, long len);
+extern void deserialize_block_2(void * data, long len);
+extern void deserialize_block_4(void * data, long len);
+extern void deserialize_block_8(void * data, long len);
+
/* Auxiliary stuff for sending code pointers */
unsigned char * code_checksum (void);
@@ -95,6 +124,5 @@ unsigned char * code_checksum (void);
extern char * code_area_start, * code_area_end;
#endif
-
#endif