8cccac2014-08-28Per Hedbor struct _IOBuffer { unsigned char *buffer; size_t offset; /* reading */ size_t len, allocated; /* writing */
317fc32014-09-02Per Hedbor  struct object *sub, *source, *this;
9629ad2014-09-01Per Hedbor  struct program *error_mode;
8923ca2014-09-03Per Hedbor  struct object *output;
8cccac2014-08-28Per Hedbor  struct pike_string *str;
fbc3bf2014-09-08Per Hedbor  struct { unsigned char *ptr; size_t len; } stash; INT_TYPE num_malloc, num_move; // debug mainly, for testsuite INT32 locked, locked_move;
8923ca2014-09-03Per Hedbor  char malloced, output_triggered;
8cccac2014-08-28Per Hedbor };
fbc3bf2014-09-08Per Hedbor  struct rewind_to { struct _IOBuffer *io; size_t rewind_to; #ifdef PIKE_DEBUG int old_locked_move; #endif };
8cccac2014-08-28Per Hedbor typedef struct _IOBuffer IOBuffer; extern void init_stdio_buffer(void); extern void exit_stdio_buffer(void);