28 lines
814 B
C
28 lines
814 B
C
|
|
#include <ruby.h>
|
||
|
|
#ifdef HAVE_RB_STR_ENCODE
|
||
|
|
#include <ruby/encoding.h>
|
||
|
|
#endif
|
||
|
|
|
||
|
|
typedef struct {
|
||
|
|
int version;
|
||
|
|
VALUE class_mapper;
|
||
|
|
VALUE src;
|
||
|
|
char* stream;
|
||
|
|
unsigned long pos;
|
||
|
|
unsigned long size;
|
||
|
|
VALUE obj_cache;
|
||
|
|
VALUE str_cache;
|
||
|
|
VALUE trait_cache;
|
||
|
|
} AMF_DESERIALIZER;
|
||
|
|
|
||
|
|
char des_read_byte(AMF_DESERIALIZER *des);
|
||
|
|
char des_read_ahead_byte(AMF_DESERIALIZER *des);
|
||
|
|
int des_read_uint16(AMF_DESERIALIZER *des);
|
||
|
|
unsigned int des_read_uint32(AMF_DESERIALIZER *des);
|
||
|
|
double des_read_double(AMF_DESERIALIZER *des);
|
||
|
|
int des_read_int(AMF_DESERIALIZER *des);
|
||
|
|
VALUE des_read_string(AMF_DESERIALIZER *des, unsigned int len);
|
||
|
|
VALUE des_read_sym(AMF_DESERIALIZER *des, unsigned int len);
|
||
|
|
void des_set_src(AMF_DESERIALIZER *des, VALUE src);
|
||
|
|
|
||
|
|
VALUE des_deserialize(VALUE self, VALUE ver, VALUE src);
|