/* marshaling-burffer.h -- Marshaling Buffer Library Header File. Created on: 2008/11/28 11:49:18 ~/dsys/highscore/tcp/marshaling-burffer.h */ #ifndef _MARSHALLING_BUFFER_H_ #define _MARSHALLING_BUFFER_H_ #include /* size_t */ struct marbuf { uint32_t mb_bytes; char *mb_current; char *mb_buf; size_t mb_buflen; }; typedef struct marbuf marbuf_t; extern int marbuf_init( marbuf_t *mb, size_t len ); extern void marbuf_final( marbuf_t *mb ); extern int marbuf_receive_message( marbuf_t *mb, int socket ); extern int marbuf_send_message( marbuf_t *mb, int socket ); extern int marbuf_marshal_int( marbuf_t *mb, int data ); extern int marbuf_unmarshal_int( marbuf_t *mb, int *datap ); extern int marbuf_marshal_byte_array( marbuf_t *mb, char data[], int data_len ); extern int marbuf_unmarshal_byte_array( marbuf_t *mb, char data[], int data_len ); #endif _MARSHALLING_BUFFER_H_