Ion C
C library for Ion
ion_stream.h File Reference
#include "ion_types.h"
#include "ion_platform_config.h"
#include "ion_errors.h"

Go to the source code of this file.

Typedefs

typedef struct _ion_stream_user_paged ION_STREAM_USER_PAGED
 
typedef struct _ion_stream_paged ION_STREAM_PAGED
 
typedef struct _ion_page ION_PAGE
 
typedef int32_t PAGE_ID
 
typedef int64_t POSITION
 

Functions

ION_API_EXPORT iERR ion_stream_open_buffer (BYTE *buffer, SIZE buf_length, SIZE buf_filled, BOOL read_only, ION_STREAM **pp_stream)
 
ION_API_EXPORT iERR ion_stream_open_memory_only (ION_STREAM **pp_stream)
 
ION_API_EXPORT iERR ion_stream_open_stdin (ION_STREAM **pp_stream)
 
ION_API_EXPORT iERR ion_stream_open_stdout (ION_STREAM **pp_stream)
 
ION_API_EXPORT iERR ion_stream_open_stderr (ION_STREAM **pp_stream)
 
ION_API_EXPORT iERR ion_stream_open_file_in (FILE *in, ION_STREAM **pp_stream)
 
ION_API_EXPORT iERR ion_stream_open_file_out (FILE *out, ION_STREAM **pp_stream)
 
ION_API_EXPORT iERR ion_stream_open_file_rw (FILE *fp, BOOL cache_all, ION_STREAM **pp_stream)
 
ION_API_EXPORT iERR ion_stream_open_handler_in (ION_STREAM_HANDLER fn_input_handler, void *handler_state, ION_STREAM **pp_stream)
 
ION_API_EXPORT iERR ion_stream_open_handler_out (ION_STREAM_HANDLER fn_output_handler, void *handler_state, ION_STREAM **pp_stream)
 
ION_API_EXPORT iERR ion_stream_open_fd_in (int fd_in, ION_STREAM **pp_stream)
 
ION_API_EXPORT iERR ion_stream_open_fd_out (int fd_out, ION_STREAM **pp_stream)
 
ION_API_EXPORT iERR ion_stream_open_fd_rw (int fd, BOOL cache_all, ION_STREAM **pp_stream)
 
ION_API_EXPORT iERR ion_stream_flush (ION_STREAM *stream)
 
ION_API_EXPORT iERR ion_stream_close (ION_STREAM *stream)
 
ION_API_EXPORT BOOL ion_stream_can_read (ION_STREAM *stream)
 
ION_API_EXPORT BOOL ion_stream_can_write (ION_STREAM *stream)
 
ION_API_EXPORT BOOL ion_stream_can_seek (ION_STREAM *stream)
 
ION_API_EXPORT BOOL ion_stream_can_mark (ION_STREAM *stream)
 
ION_API_EXPORT BOOL ion_stream_is_dirty (ION_STREAM *stream)
 
ION_API_EXPORT BOOL ion_stream_is_mark_open (ION_STREAM *stream)
 
ION_API_EXPORT POSITION ion_stream_get_position (ION_STREAM *stream)
 
ION_API_EXPORT FILE * ion_stream_get_file_stream (ION_STREAM *stream)
 
ION_API_EXPORT POSITION ion_stream_get_mark_start (ION_STREAM *stream)
 
ION_API_EXPORT POSITION ion_stream_get_marked_length (ION_STREAM *stream)
 
ION_API_EXPORT iERR ion_stream_read_byte (ION_STREAM *stream, int *p_c)
 
ION_API_EXPORT iERR ion_stream_read (ION_STREAM *stream, BYTE *buf, SIZE len, SIZE *p_bytes_read)
 
ION_API_EXPORT iERR ion_stream_unread_byte (ION_STREAM *stream, int c)
 
ION_API_EXPORT iERR ion_stream_write (ION_STREAM *stream, BYTE *buf, SIZE len, SIZE *p_bytes_written)
 
ION_API_EXPORT iERR ion_stream_write_byte (ION_STREAM *stream, int byte)
 
ION_API_EXPORT iERR ion_stream_write_byte_no_checks (ION_STREAM *stream, int byte)
 
ION_API_EXPORT iERR ion_stream_write_stream (ION_STREAM *stream, ION_STREAM *stream_input, SIZE len, SIZE *p_written)
 
ION_API_EXPORT iERR ion_stream_seek (ION_STREAM *stream, POSITION position)
 
ION_API_EXPORT iERR ion_stream_truncate (ION_STREAM *stream)
 
ION_API_EXPORT iERR ion_stream_skip (ION_STREAM *stream, SIZE distance, SIZE *p_skipped)
 
ION_API_EXPORT iERR ion_stream_mark (ION_STREAM *stream)
 
ION_API_EXPORT iERR ion_stream_mark_remark (ION_STREAM *stream, POSITION position)
 
ION_API_EXPORT iERR ion_stream_mark_rewind (ION_STREAM *stream)
 
ION_API_EXPORT iERR ion_stream_mark_clear (ION_STREAM *stream)