myio_apr.h
最終更新:2009/11/14
001: /* 002: * ストリームの抽象化の試み 003: * ・apr_file_t へのラッパー 004: * ・apr_socket_t へのラッパー 005: */ 006: 007: #ifndef _MYIO_APR_H_ 008: #define _MYIO_APR_H_ 009: 010: #ifndef _MYIO_H_ 011: #include "myio.h" 012: #endif 013: 014: #ifndef APR_FILE_IO_H 015: #include "apr_file_io.h" 016: #endif 017: 018: #ifndef APR_NETWORK_IO_H 019: #include "apr_network_io.h" 020: #endif 021: 022: #ifndef APR_STRINGS_H 023: #include "apr_strings.h" 024: #endif 025: 026: /* 027: * apr_file_t をラップする MYIO オブジェクトの生成 028: */ 029: 030: MYIO *MYIO_fp_new ( 031: apr_file_t *fp /* ファイルポインタ */ 032: , int flag /* ストリームの種類 0:入力 1:出力 */ 033: , apr_pool_t *pool /* メモリプール */ 034: ); 035: 036: /* 037: * ファイルへのストリームをオープンし、 038: * そのストリームをラップする MYIO オブジェクトの生成する関数 039: */ 040: MYIO *MYIO_fp_open ( 041: const char * fname /* オープンするファイル名 */ 042: , apr_int32_t flag /* オープンフラグ(apr_file_open のフラグ) */ 043: , apr_fileperms_t perm /* パーミッション(apr_file_open のパーミッション) */ 044: , apr_pool_t *pool /* メモリプール */ 045: ); 046: 047: /* 048: * MYIO オブジェクトからファイルポインタを取り出す関数 049: */ 050: apr_file_t *MYIO_fp_get_fp ( 051: MYIO *myio 052: ); 053: 054: /* 055: * MYIO オブジェクトのファイルポインタをクローズする関数 056: */ 057: 058: void MYIO_fp_close ( 059: MYIO *myio 060: ); 061: 062: /* 063: * 簡易ソケット接続関数 064: */ 065: apr_socket_t *my_connect ( 066: char *hostname 067: , int port 068: , apr_pool_t * pool 069: ); 070: 071: /* 072: * apr_socket_t をラップする MYIO オブジェクトの生成 073: */ 074: 075: MYIO *MYIO_sock_new ( 076: apr_socket_t *sock 077: , apr_pool_t *pool 078: ); 079: 080: /* 081: * ソケットをオープンし、ラップする MYIO オブジェクトの生成する関数 082: */ 083: 084: MYIO *MYIO_sock_connect( 085: char *hostname /* 接続先ホスト名 */ 086: , int port /* 接続先ポート番号 */ 087: , apr_pool_t * pool 088: ); 089: 090: /* 091: * MYIO オブジェクトからソケットを取り出す関数 092: */ 093: 094: apr_socket_t *MYIO_sock_get_sock ( 095: MYIO *myio 096: ); 097: 098: /* 099: * MYIO オブジェクトのソケットをクローズする関数 100: */ 101: void MYIO_sock_close( 102: MYIO *myio 103: ); 104: 105: /* 106: * printf スタイルな書式付き出力関数 107: */ 108: int MYIO_apr_printf(MYIO *myio, const char *fmt, ...); 109: #endif /* _MYIO_APR_H_ */
KAKU PROJECT (2009) |