picox  0.1
xstream.h ファイル

入出力を抽象化するストリーム定義 [詳解]

被依存関係図:

[ソースコード]

データ構造

struct  XMemStream
 メモリに対して入出力を行うストリーム型です [詳解]
 
struct  XStream
 ストリームを表す抽象型です [詳解]
 

マクロ定義

#define X_MEMSTREAM_TAG   (X_MAKE_TAG('X', 'M', 'M', 'S'))
 XMemStreamのタグです
 
#define X_STREAM_TAG   (X_MAKE_TAG('X', 'S', 'T', 'R'))
 ストリームタグの初期値です
 

型定義

stream_function_pointers

ストリームにセットする関数ポインタ型のグループです

戻り値のint型はエラーステータスを返し、0は正常終了、0以外はエラーを表します 。

typedef int(* XStreamReadFunc) (void *driver, void *dst, size_t size, size_t *nread)
 ストリームからの読み出し関数ポインタ型です [詳解]
 
typedef int(* XStreamWriteFunc) (void *driver, const void *src, size_t size, size_t *nwritten)
 ストリームへの書き込み関数ポインタ型です [詳解]
 
typedef int(* XStreamSeekFunc) (void *driver, XOffset offset, XSeekMode mode)
 ストリームの現在位置を移動する関数ポインタ型です [詳解]
 
typedef int(* XStreamTellFunc) (void *driver, XSize *pos)
 ストリームの現在位置を取得する関数ポインタ型です
 
typedef int(* XStreamSizeFunc) (void *driver, XSize *size)
 ストリームのバイト数を取得する関数ポインタ型です
 
typedef int(* XStreamFlushFunc) (void *driver)
 ストリームのバッファリングをフラッシュする関数ポインタ型です
 
typedef int(* XStreamCloseFunc) (void *driver)
 ストリームのフラッシュと、リソースの開放を行う関数ポインタ型です
 
typedef const char *(* XStreamErrorStringFunc) (int errcode)
 ストリームが返したエラーステータスに対応する文字列を返す関数ポインタ型です
 

関数

static XMemStreamx_memstream_cast (XStream *stream)
 tagがXMemStreamと一致していなければNULLを返します
 
void xmemstream_init (XMemStream *self, void *mem, size_t size, size_t capacity)
 メモリストリームを初期化します [詳解]
 
int xstream_close (XStream *self)
 ストリームの終了処理を行います [詳解]
 
int xstream_error (const XStream *self)
 最後のエラー値を返します
 
const char * xstream_error_string (const XStream *self, int errcode)
 エラー値の文字列表現を返します
 
int xstream_flush (XStream *self)
 ストリームの終了処理を行います [詳解]
 
int xstream_getc (XStream *self)
 ストリームから1バイトを読みだし、intにキャストして返します [詳解]
 
int xstream_gets (XStream *self, char *dst, size_t size, char **result, bool *overflow)
 ストリームから1行を取り出します [詳解]
 
void xstream_init (XStream *self)
 ストリームの初期化を行います
 
int xstream_printf (XStream *self, const char *fmt,...)
 ストリームにvprintf形式の出力を行います [詳解]
 
int xstream_putc (XStream *self, int c)
 cをunsigned charにキャストしてストリームに書き込みます [詳解]
 
int xstream_read (XStream *self, void *dst, size_t size, size_t *nread)
 ストリームからdstにsizeバイトの読み出しを試みます [詳解]
 
int xstream_seek (XStream *self, XOffset offset, XSeekMode mode)
 ストリームの現在位置を移動します [詳解]
 
int xstream_tell (XStream *self, XSize *pos)
 ストリームの現在位置をposに格納します [詳解]
 
int xstream_vprintf (XStream *self, const char *fmt, va_list args)
 ストリームにvprintf形式の出力を行います [詳解]
 
int xstream_write (XStream *self, const void *src, size_t size, size_t *nwritten)
 ストリームにsrcからsizeバイトの書き込みを試みます [詳解]
 

詳解

入出力を抽象化するストリーム定義

著者
MaskedW