int init_put_byte(ByteIOContext *s,

                  unsigned char *buffer,

                  int buffer_size,

                  int write_flag,

                  void *opaque,

                  int (*read_packet)(void *opaque, uint8_t *buf, int buf_size),

                  void (*write_packet)(void *opaque, uint8_t *buf, int buf_size),

                  int (*seek)(void *opaque, offset_t offset, int whence))

{

    s->buffer = buffer;

    s->buffer_size = buffer_size;

    s->buf_ptr = buffer;

    s->write_flag = write_flag;

    if (!s->write_flag) 

        s->buf_end = buffer;

    else

        s->buf_end = buffer + buffer_size;

    s->opaque = opaque;

    s->write_packet = write_packet;

    s->read_packet = read_packet;

    s->seek = seek;

    s->pos = 0;

    s->must_flush = 0;

    s->eof_reached = 0;

    s->is_streamed = 0;

    s->max_packet_size = 0;

    s->checksum_ptr= NULL;

    s->update_checksum= NULL;

    return 0;

}

int init_put_byte(ByteIOContext *s,

                  unsigned char *buffer,

                  int buffer_size,

                  int write_flag,

                  void *opaque,

                  int (*read_packet)(void *opaque, uint8_t *buf, int buf_size),

                  void (*write_packet)(void *opaque, uint8_t *buf, int buf_size),

                  int (*seek)(void *opaque, offset_t offset, int whence))

{

    s->buffer = buffer;

    s->buffer_size = buffer_size;

    s->buf_ptr = buffer;

    s->write_flag = write_flag;

    if (!s->write_flag) 

        s->buf_end = buffer;

    else

        s->buf_end = buffer + buffer_size;

    s->opaque = opaque;

    s->write_packet = write_packet;

    s->read_packet = read_packet;

    s->seek = seek;

    s->pos = 0;

    s->must_flush = 0;

    s->eof_reached = 0;

    s->is_streamed = 0;

    s->max_packet_size = 0;

    s->checksum_ptr= NULL;

    s->update_checksum= NULL;

    return 0;

}

int FUNC_0(ByteIOContext *VAR_0,

                  unsigned char *VAR_1,

                  int VAR_2,

                  int VAR_3,

                  void *VAR_10,

                  int (*VAR_5)(void *VAR_10, uint8_t *VAR_9, int VAR_9),

                  void (*VAR_8)(void *VAR_10, uint8_t *VAR_9, int VAR_9),

                  int (*VAR_9)(void *VAR_10, offset_t VAR_10, int VAR_11))

{

    VAR_0->VAR_1 = VAR_1;

    VAR_0->VAR_2 = VAR_2;

    VAR_0->buf_ptr = VAR_1;

    VAR_0->VAR_3 = VAR_3;

    if (!VAR_0->VAR_3) 

        VAR_0->buf_end = VAR_1;

    else

        VAR_0->buf_end = VAR_1 + VAR_2;

    VAR_0->VAR_10 = VAR_10;

    VAR_0->VAR_8 = VAR_8;

    VAR_0->VAR_5 = VAR_5;

    VAR_0->VAR_9 = VAR_9;

    VAR_0->pos = 0;

    VAR_0->must_flush = 0;

    VAR_0->eof_reached = 0;

    VAR_0->is_streamed = 0;

    VAR_0->max_packet_size = 0;

    VAR_0->checksum_ptr= NULL;

    VAR_0->update_checksum= NULL;

    return 0;

}

int FUNC_0(ByteIOContext *VAR_0,
unsigned char *VAR_1,
int VAR_2,
int VAR_3,
void *VAR_10,
int (*VAR_5)(void *VAR_10, uint8_t *VAR_9, int VAR_9),
void (*VAR_8)(void *VAR_10, uint8_t *VAR_9, int VAR_9),
int (*VAR_9)(void *VAR_10, offset_t VAR_10, int VAR_11))
{ VAR_0->VAR_1 = VAR_1; VAR_0->VAR_2 = VAR_2; VAR_0->buf_ptr = VAR_1; VAR_0->VAR_3 = VAR_3; if (!VAR_0->VAR_3)
VAR_0->buf_end = VAR_1; else
VAR_0->buf_end = VAR_1 + VAR_2; VAR_0->VAR_10 = VAR_10; VAR_0->VAR_8 = VAR_8; VAR_0->VAR_5 = VAR_5; VAR_0->VAR_9 = VAR_9; VAR_0->pos = 0; VAR_0->must_flush = 0; VAR_0->eof_reached = 0; VAR_0->is_streamed = 0; VAR_0->max_packet_size = 0; VAR_0->checksum_ptr= NULL; VAR_0->update_checksum= NULL; return 0; }