| 
    JunkBox_Lib++ (for Windows) 1.10.1
    
   | 
 
汎用拡張ツールヘッダ More...


Go to the source code of this file.
Macros | |
| #define | JBXL_FIO_ANY 0x0000 | 
| #define | JBXL_FIO_IPADDRESS 0x0001 | 
| #define | JBXL_FIO_PRIV_KEY 0x000a | 
| #define | JBXL_FIO_PUB_KEY 0x000b | 
| #define | JBXL_FIO_SPKI 0x000c | 
| #define | JBXL_FIO_ORIGINAL 0x0000 | 
| #define | JBXL_FIO_BIN 0x0000 | 
| #define | JBXL_FIO_DER 0x0000 | 
| #define | JBXL_FIO_BASE64 0x0010 | 
| #define | JBXL_FIO_STRING 0x0030 | 
| #define | JBXL_FIO_AES 0x00a0 | 
| #define | JBXL_FIO_DES 0x00b0 | 
| #define | JBXL_FIO_3DES 0x00c0 | 
| #define | make_hostport(h, p) comp_hostport((h), (p)) | 
| comp_hostport()   | |
| #define | make_url(t, h, p, d) comp_url((t), (h), (p), (d)) | 
| comp_url()   | |
| #define | get_runlength_byte_Buffer(b, s) get_runlength_byte((b).buf, (b).vldsz, (s)) | 
| get_runlength_byte()   | |
| #define | decode_runlength_Buffer(b, s) decode_runlength((b).buf, (b).vldsz, (s)) | 
| decode_runlength()   | |
| #define | encode_runlength_Buffer(b) encode_runlength((b).buf, (b).vldsz) | 
| encode_runlength()   | |
Functions | |
| int | udp_recv_Buffer_sockaddr_in (int sock, Buffer *buf, struct sockaddr_in *sv) | 
| recvform()をラッピングした関数.UDPデータを受信する.IPv4専用.   | |
| int | udp_send_Buffer_sockaddr_in (int sock, Buffer *buf, struct sockaddr_in *sv) | 
| sendto() をラッピングした関数.UDP経由でデータを送る.IPv4専用.   | |
| int | udp_send_sBuffer_sockaddr_in (int sock, Buffer *buf, struct sockaddr_in *sv) | 
| DP経由で文字列データを送る.IPv4専用   | |
| int | udp_recv_Buffer_wait_sockaddr_in (int sock, Buffer *buf, struct sockaddr_in *sv_addr, int tm) | 
| UDP経由でデータを受信する.IPv4専用.   | |
| struct sockaddr_in | get_sockaddr_in_Buffer (Buffer buf) | 
| FQDN:port または IPaddress:port の形式の Buffer変数から ソケット情報を得る.IPv4専用   | |
| int | udp_recv_Buffer (int sock, Buffer *buf, struct addrinfo *sv) | 
| recvform()をラッピングした関数.UDPデータを受信する.   | |
| int | udp_send_Buffer (int sock, Buffer *buf, struct addrinfo *sv) | 
| sendto() をラッピングした関数.UDP経由でデータを送る.   | |
| int | tcp_recv_Buffer (int sock, Buffer *buf) | 
| TCP経由でデータを受信する.バッファリングなし.   | |
| int | tcp_send_Buffer (int sock, Buffer *buf) | 
| TCP経由でデータを送信する.   | |
| int | udp_recv_Buffer_wait (int sock, Buffer *buf, struct addrinfo *sv_addr, int tm) | 
| UDP経由でデータを受信する.待ち時間(タイムアウト)を指定できる.   | |
| int | tcp_recv_Buffer_wait (int sock, Buffer *buf, int tm) | 
| TCP経由でデータを受信する.待ち時間(タイムアウト)を指定できる.   | |
| int | tcp_recv_Buffer_tosize (int sock, Buffer *b, Buffer *m, int sz) | 
| TCP経由でデータを size バイトまで受信する.バッファリングなし.   | |
| int | tcp_recv_Buffer_tosize_wait (int sock, Buffer *b, Buffer *m, int sz, int tm) | 
| TCP経由でデータを size バイトまで受信する.待ち時間を指定できる.   | |
| int | udp_send_sBuffer (int sock, Buffer *buf, struct addrinfo *sv) | 
| UDP経由で文字列データを送る.   | |
| int | tcp_send_sBuffer (int sock, Buffer *buf) | 
| TCP経由で文字列データを送信する.   | |
| int | tcp_send_sBufferln (int sock, Buffer *buf) | 
| TCPメッセージ(文字列)に改行(0x0d, 0x0a)を付け加えて送信する.  | |
| int | tcp_recv_mstream_Buffer (int sock, Buffer *buf, mstream *sb, int tm) | 
| TCP経由でメッセージを受信する.バッファリングあり.   | |
| int | tcp_recv_lines_Buffer (int sock, Buffer *buf, int tm) | 
| TCP経由でメッセージを複数行受信する.簡易バッファリングあり.   | |
| Buffer | comp_hostport (char *ipaddr, unsigned short port) | 
| ホスト名とポート番号から,"ホスト名:ポート番号" の文字列を生成する.   | |
| int | decomp_hostport (Buffer buf, Buffer *ipaddr, unsigned short *port) | 
| "ホスト名:ポート番号" 形式の文字列から,ホスト名とポート番号を分離する.   | |
| Buffer | comp_url (char *protocol, char *host, unsigned short port, char *dir) | 
| "プロトコル://ホスト名:ポート番号/ディレクトリ名" の文字列を生成する.   | |
| int | decomp_url (Buffer url, Buffer *srvurl, Buffer *protocol, Buffer *srvfqdn, unsigned short *sport, Buffer *srvdir) | 
| URLを分解する.   | |
| Buffer | make_form_urlenc (const char *key, const char *val) | 
| key=val (valはURL Encodeされる)の文字を作成する.   | |
| void | add_form_urlenc (Buffer *buf, const char *key, const char *val) | 
| 既存の文字に &key=val (valはURL Encodeされる) を追加する.   | |
| int | save_tagged_Buffer (Buffer buf, FILE *fp, unsigned int mode, int prfm) | 
| Bufferを指定された形式に従ってタグ付きでファイルに保存する.   | |
| Buffer | read_tagged_Buffer (FILE *fp, unsigned int *mode) | 
| save_tagged_Buffer() で保存したファイルから,Buffer をタグに従って読み込む.   | |
| Buffer | fgets_mstream_Buffer (Buffer buf, mstream *sb) | 
| メッセージ buf.buf はメッセージストリームに一旦バッファリングされ,この関数により一行ずつ読み出される.   | |
| int | get_runlength_byte (unsigned char *buf, int len, int pos) | 
| 圧縮されていない状態で pos(Byte)の位置が,0の連長圧縮されているデータではどの位置に来るかを計算する   | |
| Buffer | decode_runlength (unsigned char *buf, int len, int sz) | 
| 0の連長圧縮された bufから szバイトの通常のデータを取り出す.   | |
| Buffer | encode_runlength (unsigned char *buf, int len) | 
| bufの szバイトを 0で連長圧縮する   | |
| int | put_Buffer_ringBuffer (ringBuffer *rb, Buffer *buf) | 
| リングバッファ rb へ Buffer データを vldszバイト格納する.   | |
| Buffer * | get_Buffer_ringBuffer (ringBuffer *rb, int sz) | 
| リングバッファ rb から szバイトのデータを取り出し,Buffer型データに格納する.要 del_Buffer()   | |
| Buffer * | get_Buffer_dim_tList (tList *lp) | 
| リストを分解してキー部(key)の配列を造る   | |
| Buffer * | get_Buffer_dim_tList_value (tList *lp) | 
| リストを分解してバリュー部(val)の配列を造る   | |
| Buffer * | awk_Buffer_dim (Buffer buf, char cc) | 
| 文字列を awkで分解して配列を作る   | |
| Buffer * | cawk_Buffer_dim (Buffer buf, char cc) | 
| 文字列を cawkで分解して配列を作る   | |
| Buffer | join_Buffer_dim (Buffer *dim, const char *deli) | 
| 配列の要素を dliを間に入れて繋げる   | |
| Buffer * | decompline_Buffer_dim (Buffer buf, int mode) | 
| データを行単位に分解する.改行は \r\n   | |
| void | del_Buffer_dim (Buffer **buf) | 
| 配列を削除する.   | |
| tList * | get_tList_line_Buffer (Buffer buf, int n) | 
| buf から n行目を取り出して,' ' で分解してリストに格納して返す.   | |
| tList * | get_tList_seq_data_Buffer (Buffer buf, int *ptr) | 
| buf から行データをシーケンシャルに取り出して,それぞれを ' ' で分解してリストに格納して返す.   | |
| int | set_item_tList (tList *list, char *key, int no, char deli, int nm, char *value) | 
| key をキーにした no番目のノードに対して set_item_tList_node() を行う.   | |
| int | replace_item_tList (tList *list, char *key, int no, char deli, int nm, char *srcval, char *value) | 
| key をキーにした no番目のノードに対して replace_item_tList_node() を行う.   | |
| int | set_item_tList_node (tList *list, char deli, int nm, char *value) | 
| deliを区切りにした nm番目の項目(文字列)に value を設定する   | |
| int | replace_item_tList_node (tList *list, char deli, int nm, char *srcval, char *value) | 
| deliを区切りにした nm番目の項目(文字列)の srcval部分を valueで置き換える.   | |
| tList * | get_dir_files (const char *dirn) | 
| 指定されたディレクトリにあるファイル名の一覧を取得.   | |
| tList * | get_dir_files_rcsv (const char *dirn) | 
| 指定されたディレクトリにあるファイル名の一覧を再帰的に取得.   | |
| void | rm_dir_rcsv (const char *dirn) | 
| 指定されたディレクトリを再帰的に削除する.   | |
| void | del_file_extension_Buffer (Buffer *path) | 
| ファイルの拡張子を削除する.   | |
| void | change_file_extension_Buffer (Buffer *path, const char *ext) | 
| ファイルの拡張子を extにする.ファイルに拡張子が無い場合は extを付加する   | |
| Buffer | relative_path_Buffer (Buffer path_a, Buffer path_b) | 
| path_a から path_b への相対パスを返す.   | |
| void | canonical_filename_Buffer (Buffer *fname, int no_dir) | 
| fname の問題になりそうな ASCII文字を '_' に変換する.   | |
| tList * | _add_key_val_list (tList *pp, tList *list, const char *key, const char *val, int mode) | 
| tList * | add_resource_list (const char *path, int keylen, tList *list, tList *extn, int mode) | 
| ディレクトリ pathを検索して,リソースリストにファイルを追加し,リストの先頭を返す.   | |
| char * | get_resource_path (const char *name, tList *lp) | 
| リソースの名前から,ファイルのパスを得る.戻り値は free() してはいけない.   | |
| #define decode_runlength_Buffer | ( | b, | |
| s ) decode_runlength((b).buf, (b).vldsz, (s)) | 
| #define encode_runlength_Buffer | ( | b | ) | encode_runlength((b).buf, (b).vldsz) | 
| #define get_runlength_byte_Buffer | ( | b, | |
| s ) get_runlength_byte((b).buf, (b).vldsz, (s)) | 
| #define JBXL_FIO_ANY 0x0000 | 
Definition at line 21 of file xtools.h.
Referenced by read_tagged_Buffer().
| #define JBXL_FIO_BASE64 0x0010 | 
Definition at line 30 of file xtools.h.
Referenced by read_tagged_Buffer(), and save_tagged_Buffer().
| #define JBXL_FIO_ORIGINAL 0x0000 | 
Definition at line 27 of file xtools.h.
Referenced by save_tagged_Buffer().
| #define make_hostport | ( | h, | |
| p ) comp_hostport((h), (p)) | 
| #define make_url | ( | t, | |
| h, | |||
| p, | |||
| d ) comp_url((t), (h), (p), (d)) | 
| tList * _add_key_val_list | ( | tList * | pp, | 
| tList * | list, | ||
| const char * | key, | ||
| const char * | val, | ||
| int | mode ) | 
tList* _add_key_val_list(tList* pp, tList* list, const char* key, const char* val, int mode)
add_resource_list() の補助関数
Definition at line 2099 of file xtools.cpp.
References add_tList_node_bydata(), del_tList_node(), make_tList_data_str, and strncasecmp_tList().
Referenced by add_resource_list().


| void add_form_urlenc | ( | Buffer * | buf, | 
| const char * | key, | ||
| const char * | val ) | 
Definition at line 904 of file xtools.cpp.
References cat_s2Buffer, and encode_urlenc().

tList* add_resource_list(const char* path, int keylen, tList* list, tList* extn, int mode)
ディレクトリ pathを検索して,リソースリストにファイルを追加し,リストの先頭を返す.
リソースリストのキーは,リソースのファイル名の先頭 keylen文字とする.keylenが 0以下ならファイル名全体をキーとする.
| path | 検索するディレクトリ名 | 
| keylen | キー長.0以下ならファイル名全体. | 
| list | 追加操作を行うリスト.NULLなら新しいリストそ作成して返す. | 
| extn | 除外拡張子のリスト. | 
| mode | 同じキーがあった場合の処理.0: 重複登録,1: 先に登録されたものを優先,2:後に登録されるものを優先 | 
Definition at line 2133 of file xtools.cpp.
References _add_key_val_list(), Buffer::buf, del_all_tList(), find_tList_end(), free_Buffer(), get_dir_files(), get_file_extension(), get_file_name(), make_Buffer_bystr, new_tList_anchor_node(), strncasecmp_tList(), and Buffer::vldsz.

Buffer* awk_Buffer_dim(Buffer buf, char cc)
ccを区切り記号として, バッファ(buf.buf)内の項目を配列にして返す.
| buf | 処理対象 Buffer型変数. | 
| cc | 区切り文字. | 
Definition at line 1426 of file xtools.cpp.
References awk_Buffer_tList(), del_all_tList(), and get_Buffer_dim_tList().

| void canonical_filename_Buffer | ( | Buffer * | fname, | 
| int | no_dir ) | 
void canonical_filename_Buffer(Buffer* fname, int dirn)
fname 中の問題になりそうな ASCII文字を '_' に変換する. no_dir が TRUE なら, '\' や '/' も _ に変換する.
Definition at line 2057 of file xtools.cpp.
References Buffer::buf, and rewrite_Buffer_bychar().
Referenced by ColladaXML::addImage(), GLTFData::addMaterials(), GLTFData::addTextures(), extract_tTar(), MeshObjectData::init(), FBXData::outputFile(), GLTFData::outputFile(), OBJData::outputFile(), BrepSolidList::outputFile(), ColladaXML::outputFile(), MeshObjectData::setAltName(), MeshFacetNode::setMaterialID(), MeshObjectData::setName(), and OBJFacetMtlNode::setup_params().


Buffer* cawk_Buffer_dim(Buffer buf, char cc)
ccを区切り記号として, バッファ(buf.buf)内の項目を配列にして返す. 連続する cc(区切り)は一つの区切りとみなす.
| buf | 処理対象 Buffer型変数. | 
| cc | 区切り文字. | 
Definition at line 1453 of file xtools.cpp.
References cawk_Buffer_tList(), del_all_tList(), and get_Buffer_dim_tList().
Referenced by replace_item_tList_node(), and set_item_tList_node().


| void change_file_extension_Buffer | ( | Buffer * | path, | 
| const char * | ext ) | 
ファイルの拡張子を extにする.ファイルに拡張子が無い場合は extを付加する.
Definition at line 1960 of file xtools.cpp.
References Buffer::buf, cat_s2Buffer, and Buffer::vldsz.
Referenced by GLTFData::output_glb(), GLTFData::output_gltf(), OBJData::output_mtl(), OBJData::output_obj(), BrepSolidList::outputFile(), and ColladaXML::outputFile().

| Buffer comp_hostport | ( | char * | host, | 
| unsigned short | port ) | 
Buffer comp_hostport(char* host, unsigned short port)
ホスト名とポート番号から,"ホスト名:ポート番号" の文字列を生成する.
| host | ホスト名,またはIPアドレス | 
| port | ポート番号 | 
Definition at line 687 of file xtools.cpp.
References LBUF, make_Buffer_bystr, and snprintf.
| Buffer comp_url | ( | char * | protocol, | 
| char * | host, | ||
| unsigned short | port, | ||
| char * | dir ) | 
Buffer comp_url(char* protocol, char* host, unsigned short port, char* dir)
"プロトコル://ホスト名:ポート番号/ディレクトリ名" の文字列を生成する.
| protocol | プロトコル名 | 
| host | ホスト名 | 
| port | ポート番号 | 
| dir | ディレクトリ | 
Definition at line 757 of file xtools.cpp.
References cat_s2Buffer, copy_s2Buffer, LNAME, make_Buffer(), and snprintf.

| Buffer decode_runlength | ( | unsigned char * | buf, | 
| int | len, | ||
| int | sz ) | 
Buffer decode_runlength(unsigned char* buf, int len, int sz)
0の連長圧縮された bufから szバイトの通常のデータを取り出す.
| buf | 連長圧縮(0)されているバイナリデータ | 
| len | buf の長さ(チェック用) | 
| sz | 取り出すサイズ.0の場合は全て. | 
Definition at line 1149 of file xtools.cpp.
References Buffer::buf, free_Buffer(), init_Buffer(), make_Buffer(), and Buffer::vldsz.

int decomp_hostport(Buffer buf, Buffer* host, unsigned short* port)
"ホスト名:ポート番号" 形式の文字列から,ホスト名とポート番号を分離する.
| buf | "ホスト名:ポート番号" 形式の文字列の入ったBufferデータ | |
| [out] | host | "ホスト名" が格納されて返る. | 
| [out] | port | ポート番号 が格納されて返る. | 
| TRUE | 分離成功 | 
| FALSE | 分離失敗 | 
Definition at line 720 of file xtools.cpp.
References Buffer::buf, dup_Buffer(), FALSE, TRUE, and Buffer::vldsz.

| int decomp_url | ( | Buffer | url, | 
| Buffer * | srvurl, | ||
| Buffer * | protocol, | ||
| Buffer * | srvfqdn, | ||
| unsigned short * | sport, | ||
| Buffer * | srvdir ) | 
URLを分解する.
分解できるURLの形式は
必要ない情報には NULLを指定可能.
| url | 分解するURLの入った Buffer変数. url が https://AAA.BBB.CCC:80/xxx/yyy/zzz の場合 | |
| [out] | srvurl | https://AAA.BBB.CCC:80 要 free | 
| [out] | protocol | https 要 free | 
| [out] | srvfqdn | AAA.BBB.CCC 要 free | 
| [out] | sport | 80 | 
| [out] | srvdir | /xxx/yyy/zzz 要 free | 
| TRUE | 分解成功 | 
| FALSE | 分解失敗 | 
Definition at line 807 of file xtools.cpp.
References awk_Buffer(), Buffer::buf, cat_Buffer(), cat_s2Buffer, copy_Buffer(), copy_s2Buffer, dup_Buffer(), FALSE, free_Buffer(), init_Buffer(), LBUF, make_Buffer(), make_Buffer_bystr, TRUE, and Buffer::vldsz.
Referenced by http_proxy_header_analyze().


Buffer* decompline_Buffer_dim(Buffer buf, int mode)
buf.buf を行に分解する.行の区切りは CRLF, CR, LF
バイナリデータが混じっている場合は,バイナリデータと思われるデータ以降を一行として返す. 従って最後のデータはバイナリである可能性がある.
| buf | 分解するデータの入っている Buffer変数 | 
| mode | ON: 行末の CR, LFを削除しない.OFF: 行末の CR, LFを削除する. | 
Definition at line 1479 of file xtools.cpp.
References Buffer::buf, CHAR_CR, CHAR_LF, make_Buffer(), ON, Buffer::state, and Buffer::vldsz.
Referenced by CLogRingBuffer::putRingBuffer().


| void del_Buffer_dim | ( | Buffer ** | dim | ) | 
void del_Buffer_dim(Buffer** dim)
動的に確保された Bufferの配列を削除する.
Definition at line 1567 of file xtools.cpp.
References free_Buffer(), and Buffer::state.
Referenced by CLogRingBuffer::init(), CLogRingBuffer::putRingBuffer(), replace_item_tList_node(), set_item_tList_node(), and CLogRingBuffer::~CLogRingBuffer().


| void del_file_extension_Buffer | ( | Buffer * | path | ) | 
Definition at line 1941 of file xtools.cpp.
References Buffer::buf, and Buffer::vldsz.
Referenced by OBJData::output_obj(), and MeshFacetNode::setMaterialID().

| Buffer encode_runlength | ( | unsigned char * | buf, | 
| int | len ) | 
Definition at line 1198 of file xtools.cpp.
References Buffer::buf, init_Buffer(), make_Buffer(), and Buffer::vldsz.

Buffer fgets_mstream_Buffer(Buffer buf, mstream* sb)
メッセージ buf.buf はメッセージストリームに一旦バッファリングされ,この関数により一行ずつ読み出される.
結果が返される時,行中の改行コードは削除され,行末には必ず \0 が入る.
メッセージストリームのバッファ部が確保されていない場合は,最初に呼び出された時点で確保される.
一旦この関数を使用して,受信データをバッファリングしたら,最後まで読み取りには 必ず同じストリームを使用してこの関数を呼び出さばければならない.そうで無い場合は受信データ の整合性は保証されない.
| buf | バッファに一旦格納されるメッセージの入ったBuffer型変数.buf.bufはNULLでも可. | |
| [in] | sb | ストリームバッファ(リングバッファ型のストリームバッファ).バッファ部が確保さえていなければ,自動的に確保される. | 
| [out] | sb | state JBXL_ERROR : メッセージストリーム操作中にエラー | 
| [out] | sb | state JBXL_NODATA: メッセージストリーム中に有効なデータがない.return は NULL | 
Definition at line 1080 of file xtools.cpp.
References Buffer::buf, copy_s2Buffer, fgets_mstream(), init_Buffer(), LBUF, and make_Buffer().

Buffer* get_Buffer_dim_tList(tList* lp)
リストを分解して,キー部(lp->ldat.key)の配列を造る
| lp | 処理対象リスト | 
Definition at line 1330 of file xtools.cpp.
References dup_Buffer(), and Buffer::state.
Referenced by awk_Buffer_dim(), and cawk_Buffer_dim().


Buffer* get_Buffer_dim_tList_value(tList* lp)
リストを分解して,バリュー部(lp->ldat.val)の配列を造る
| lp | 処理対象リスト | 
Definition at line 1377 of file xtools.cpp.
References dup_Buffer(), and Buffer::state.

| Buffer * get_Buffer_ringBuffer | ( | ringBuffer * | rb, | 
| int | sz ) | 
Buffer* get_Buffer_ringBuffer(ringBuffer* rb, int sz)
リングバッファ rb から szバイトのデータを取り出し,Buffer型データに格納する.
返されたデータは del_Buffer() する必要がある.
| [in] | rb | リングバッファへのポインタ | 
| [out] | rb | state JBXL_NORMAL: バッファは正常状態.JBXL_ERROR: バッファは異常な状態にある. | 
| sz | 取り出すバイト数. | 
| NULL以外 | 取り出した Bufferデータへのポインタ.要 del_Buffer() | 
| NULL | データ取得失敗.現在有効なデータサイズはszより小さい.または単に失敗した. | 
Definition at line 1290 of file xtools.cpp.
References ringBuffer::buf, ringBuffer::bufsz, cat_b2Buffer(), copy_b2Buffer(), ringBuffer::datasz, new_Buffer(), and ringBuffer::spoint.

| tList * get_dir_files | ( | const char * | dirn | ) | 
tList* get_dir_files(const char* dirn)
指定されたディレクトリにあるファイル名の一覧を取得.
Windows の場合は 非 Unicode専用
| dirn | ディレクトリ名 | 
Definition at line 1818 of file xtools.cpp.
References add_tList_node_str, Buffer::buf, cat_s2Buffer, dup_Buffer(), free_Buffer(), make_Buffer_bystr, and swap_tList_node().
Referenced by add_resource_list(), and get_dir_files_rcsv().


| tList * get_dir_files_rcsv | ( | const char * | dirn | ) | 
Definition at line 1904 of file xtools.cpp.
References add_tList_end(), del_tList(), dup_tList(), get_dir_files(), and get_dir_files_rcsv().
Referenced by get_dir_files_rcsv(), and rm_dir_rcsv().


| char * get_resource_path | ( | const char * | name, | 
| tList * | lp ) | 
char* get_resource_path(const char* name, tList* lp)
リソース名(ldat.key.buf)の値から,対象のパス値を得る.戻り値は freeしてはいけない.
| name | リソース名 | 
| lp | リソースリスト.key部に名前,val部にパスが格納されている. | 
Definition at line 2176 of file xtools.cpp.
References strcasecmp, and TLIST_ANCHOR_NODE.
| int get_runlength_byte | ( | unsigned char * | buf, | 
| int | len, | ||
| int | pos ) | 
int get_runlength_byte(unsigned char* buf, int len, int pos)
圧縮されていない状態で pos(Byte)の位置が,0の連長圧縮されているデータではどの位置に来るかを計算する.
| buf | 連長圧縮(0)されているバイナリデータ | 
| len | buf の長さ | 
| pos | 圧縮されていない場合の位置. | 
| JBXL_ERROR | 位置を見つけられなかった. | 
| JBXL_XTOOLS_RUNLEN_ERROR | 0x00 で終わっている. | 
| JBXL_XTOOLS_RUNLEN2_ERROR | 0x00, 0x00 が存在する(連長圧縮のデータではないのでは?) | 
Definition at line 1116 of file xtools.cpp.
References JBXL_ERROR, JBXL_XTOOLS_RUNLEN2_ERROR, and JBXL_XTOOLS_RUNLEN_ERROR.
| struct sockaddr_in get_sockaddr_in_Buffer | ( | Buffer | buf | ) | 
struct sockaddr_in get_sockaddr_in_Buffer(Buffer buf)
FQDN:port または IPaddress:port の形式の Buffer変数から ソケット情報を得る.
get_sockaddr_in() (in network.c) の Buffer版
| buf | "FQDN:ポート番号" または "IPアドレス:ポート番号" 形式のデータ. | 
Definition at line 156 of file xtools.cpp.
References get_sockaddr_in().

tList* get_tList_line_Buffer(Buffer buf, int n)
dataのn行目を分解してリストに格納して返す.
| buf | 文字データが格納されたBuffer型変数 | 
| n | 読み出す行数 | 
Definition at line 1603 of file xtools.cpp.
References awk_tList(), Buffer::buf, free_Buffer(), get_line_Buffer(), and pack_char.

tList* get_tList_seq_data_Buffer(Buffer buf, int* ptr)
| buf | 文字データが格納されたBuffer型変数 | 
| ptr | 読み出開始場所へのポインタ. | 
Definition at line 1628 of file xtools.cpp.
References awk_tList(), Buffer::buf, free_Buffer(), get_seq_data_Buffer(), pack_char, and Buffer::vldsz.

Buffer join_Buffer_dim(Buffer* dim, const char* deli)
Buffer配列の内容を繋げて一個のデータにする.
Definition at line 1541 of file xtools.cpp.
References cat_Buffer(), cat_s2Buffer, init_Buffer(), LBUF, make_Buffer(), and Buffer::state.
Referenced by replace_item_tList_node(), and set_item_tList_node().


| Buffer make_form_urlenc | ( | const char * | key, | 
| const char * | val ) | 
Definition at line 884 of file xtools.cpp.
References cat_s2Buffer, encode_urlenc(), init_Buffer(), and make_Buffer_str.

| int put_Buffer_ringBuffer | ( | ringBuffer * | rb, | 
| Buffer * | buf ) | 
int put_Buffer_ringBuffer(ringBuffer* rb, Buffer* buf)
リングバッファ rb へ Buffer データを vldszバイト格納する.
| [in] | rb | リングバッファへのポインタ | 
| [out] | rb | state JBXL_NORMAL: バッファは正常状態.JBXL_ERROR: バッファは異常な状態にある. | 
| buf | 格納する Bufferデータへのポインタ. | 
| 0以上 | 書き込んだバイト数. | 
| JBXL_ARGS_ERROR | 引数にNULLのデータがある. | 
| JBXL_TOOLS_BUF_ERROR | バッファ(データ格納)部の領域がない. | 
| JBXL_TOOLS_BUFSZ_ERROR | バッファ(データ格納)部の大きさがたりない.データはputされなかった. | 
Definition at line 1249 of file xtools.cpp.
References Buffer::buf, ringBuffer::buf, ringBuffer::bufsz, ringBuffer::datasz, ringBuffer::epoint, JBXL_ARGS_ERROR, JBXL_ERROR, JBXL_NORMAL, JBXL_TOOLS_BUF_ERROR, JBXL_TOOLS_BUFSZ_ERROR, ringBuffer::state, and Buffer::vldsz.
| Buffer read_tagged_Buffer | ( | FILE * | fp, | 
| unsigned int * | mode ) | 
Buffer read_tagged_Buffer(FILE* fp, unsigned int* mode)
save_tagged_Buffer() で保存したファイルから,Buffer をタグに従って読み込む.
| fp | ファイルポインタ. | |
| [in] | mode | 読み出したいデータの種別と読み出し時のデータ形式を JBXL_FIO_ マクロで指定する. 保存方されているデータと読み出したいデータの種別が一致しない場合は,データを返さない. ただし,JBXL_FIO_ANY を指定した場合は一致しなくともデータを返す. | 
| [out] | mode | 読み出し時のデータ形式は現在のところ JBXL_FIO_ORIGINAL, JBXL_FIO_BASE64 のみサポート. リターン時に,保存されていたデータの種別のが JBXL_FIO_ マクロで格納される. | 
| TRUE | 成功. | 
| FALSE | 失敗. | 
参考: 
 
Definition at line 1013 of file xtools.cpp.
References Buffer::buf, decode_base64_Buffer(), dup_Buffer(), encode_base64_Buffer(), free_Buffer(), init_Buffer(), JBXL_FIO_ANY, JBXL_FIO_BASE64, and read_Buffer2_format_fp().

Definition at line 1995 of file xtools.cpp.
References Buffer::buf, cat_s2Buffer, CHAR_DELI_DIR, dup_Buffer(), free_Buffer(), init_Buffer(), make_Buffer_str, STR_CRNT_DIR, STR_DELI_DIR, STR_UPST_DIR, and Buffer::vldsz.

| int replace_item_tList | ( | tList * | list, | 
| char * | key, | ||
| int | no, | ||
| char | deli, | ||
| int | nm, | ||
| char * | srcval, | ||
| char * | value ) | 
int replace_item_tList(tList* list, char* key, int no, char deli, int nm, char* srcval, char* value)
key をキーにした no番目のノードの値の中で,deliを区切りにした nm番目の項目(文字列)の srcval部分を valueで置き換える.
| list | 検索対象のヘッダ情報を格納したリスト | 
| key | ヘッダ種別. | 
| no | 同じヘッダ種別が複数ある場合,何番目のノードかを指定する.1から数える. noが 0以下の場合は keyが一致する全てのノードに対して操作を行う. | 
| deli | ノード値(文字列)の区切り文字. | 
| nm | deli を区切り文字として何番目の項目か? 1から数える. | 
| srcval | 置き換え対象の文字列.NULLなら指定した項目の文字列全体 | 
| value | 置き換える文字列. | 
Definition at line 1740 of file xtools.cpp.
References JBXL_ARGS_ERROR, replace_item_tList_node(), set_item_tList(), and strncasecmp_tList().

| int replace_item_tList_node | ( | tList * | list, | 
| char | deli, | ||
| int | nm, | ||
| char * | srcval, | ||
| char * | value ) | 
Definition at line 1772 of file xtools.cpp.
References cawk_Buffer_dim(), del_Buffer_dim(), FALSE, free_Buffer(), join_Buffer_dim(), replace_sBuffer, set_item_tList_node(), Buffer::state, and TRUE.
Referenced by replace_item_tList().


| void rm_dir_rcsv | ( | const char * | dirn | ) | 
Definition at line 1923 of file xtools.cpp.
References del_tList(), get_dir_files_rcsv(), rmdir, and unlink.

| int save_tagged_Buffer | ( | Buffer | buf, | 
| FILE * | fp, | ||
| unsigned int | mode, | ||
| int | prfm ) | 
int save_tagged_Buffer(Buffer buf, FILE* fp, unsigned int mode, int prfm)
Bufferを指定された形式に従ってタグ付きでファイルに保存する.
| buf | 保存する情報. | 
| fp | ファイルポインタ. | 
| mode | 保存するデータの種別と保存方法を JBXL_FIO_ マクロで指定する. ただし,保存方法は現在のところ JBXL_FIO_ORIGINAL, JBXL_FIO_BASE64 のみサポート. | 
| prfm | 保存方法に JBXL_FIO_ORIGINAL 以外を指定した場合,その形式に変換するかどうかを指定する. この関数外で,既に変換が完了している場合に FALSE を指定する. (TERUE: 変換する. FALSE: 変換しない) | 
| TRUE | 成功. | 
| FALSE | 失敗.ファイルの内容は保証されない. | 
参考:
Definition at line 956 of file xtools.cpp.
References Buffer::buf, dup_Buffer(), encode_base64_Buffer(), FALSE, free_Buffer(), JBXL_FIO_BASE64, JBXL_FIO_ORIGINAL, make_Buffer(), save_Buffer2_format_fp(), TRUE, and Buffer::vldsz.

| int set_item_tList | ( | tList * | list, | 
| char * | key, | ||
| int | no, | ||
| char | deli, | ||
| int | nm, | ||
| char * | value ) | 
int set_item_tList(tList* list, char* key, int no, char deli, int nm, char* value)
key をキーにした no番目のノードの値の中で,deliを区切りにした nm番目の項目(文字列)に value を設定する.
| list | 検索対象のヘッダ方向を格納したリスト | 
| key | ヘッダ種別. | 
| no | 同じヘッダ種別が複数ある場合,何番目のノードかを指定する.1から数える. noが 0以下の場合は keyが一致する全てのノードに対して操作を行う. | 
| deli | ノード値(文字列)の区切り文字. | 
| nm | deli を区切り文字として何番目の項目か? 1から数える. | 
| value | 設定する文字列. | 
Definition at line 1668 of file xtools.cpp.
References JBXL_ARGS_ERROR, set_item_tList_node(), and strncasecmp_tList().
Referenced by replace_item_tList().


| int set_item_tList_node | ( | tList * | list, | 
| char | deli, | ||
| int | nm, | ||
| char * | value ) | 
Definition at line 1697 of file xtools.cpp.
References cawk_Buffer_dim(), del_Buffer_dim(), FALSE, free_Buffer(), join_Buffer_dim(), make_Buffer_bystr, Buffer::state, and TRUE.
Referenced by replace_item_tList_node(), and set_item_tList().


| int tcp_recv_Buffer | ( | int | sock, | 
| Buffer * | str ) | 
int tcp_recv_Buffer(int sock, Buffer* str)
TCP経由でデータを受信する.バッファリングなし.
| sock | ソケット記述子 | 
| str | 受信用メッセージバッファへのポインタ.予めバッファ部を確保しておく. | 
| 1以上 | 受信したバイト数. | 
| 0 | 正常切断. | 
| JBXL_NET_RECV_ERROR | 受信失敗 | 
Definition at line 276 of file xtools.cpp.
References Buffer::buf, Buffer::bufsz, JBXL_ARGS_ERROR, JBXL_NET_RECV_ERROR, JBXL_NORMAL, Buffer::state, and Buffer::vldsz.
Referenced by recv_http_closed(), tcp_recv_Buffer_tosize(), tcp_relay(), and www2browser_relay().

int tcp_recv_Buffer_tosize(int sock, Buffer* str, Buffer* mod, int size)
TCP経由でデータを現データと合わせて size バイトまで受信する.
| sock | ソケット記述子 | 
| str | 受信用メッセージバッファへのポインタ.予めバッファ部を確保しておく. | 
| mod | size 以上受信した場合はここに保存する.予めメモリを確保しておく.NULL でも OK | 
| size | 目標バイト数. | 
| 1以上 | 受信したバイト数. | 
| 0 | 正常切断. | 
| JBXL_ARGS_ERROR | 引数に NULLのデータがある. | 
| JBXL_NET_RECV_ERROR | 受信失敗 | 
Definition at line 400 of file xtools.cpp.
References Buffer::buf, cat_Buffer(), copy_b2Buffer(), FALSE, free_Buffer(), JBXL_ARGS_ERROR, make_Buffer(), RECVBUFSZ, tcp_recv_Buffer(), TRUE, and Buffer::vldsz.

int tcp_recv_Buffer_tosize_wait(int sock, Buffer* str, Buffer* mod, int size, int tm)
TCP経由でデータを 現データと合わせて size バイトまで受信する.待ち時間(タイムアウト)を指定できる.
タイムアウトの設定が可能.タイムアウトに 0を指定した場合, recv_wait()関数を呼び出した時点で 読み込み可能データがなければすぐにタイムアウトとなる (JBXL_NET_RECV_TIMEOUT が返る).
| sock | ソケット記述子 | 
| str | 受信用メッセージバッファへのポインタ.予めバッファ部を確保しておく. | 
| mod | size 以上受信した場合はここに保存する.予めメモリを確保しておく.NULL でも OK | 
| size | 目標バイト数. | 
| tm | タイムアウト時間.秒単位. | 
| 1以上 | 受信されたバイト数. | 
| 0 | 受信エラー.おそらくは相手側がセッションをクローズした. | 
| JBXL_ARGS_ERROR | 引数に NULLのデータがある. | 
| JBXL_NET_RECV_ERROR | 受信エラー. | 
| JBXL_NET_RECV_TIMEOUT | タイムアウト. | 
Definition at line 453 of file xtools.cpp.
References Buffer::buf, cat_Buffer(), copy_b2Buffer(), FALSE, free_Buffer(), JBXL_ARGS_ERROR, make_Buffer(), RECVBUFSZ, tcp_recv_Buffer_wait(), TRUE, and Buffer::vldsz.

| int tcp_recv_Buffer_wait | ( | int | sock, | 
| Buffer * | str, | ||
| int | tm ) | 
int tcp_recv_Buffer_wait(int sock, Buffer* str, int tm)
TCP経由でデータを受信する.待ち時間(タイムアウト)を指定できる.
タイムアウトの設定が可能.タイムアウトに 0を指定した場合, recv_wait()関数を呼び出した時点で 読み込み可能データがなければすぐにタイムアウトとなる (JBXL_NET_RECV_TIMEOUT が返る).
| sock | ソケット記述子 | 
| str | 受信用メッセージバッファへのポインタ.予めバッファ部を確保しておく. | 
| tm | タイムアウト時間.秒単位. | 
| 1以上 | 受信されたバイト数. | 
| 0 | 受信エラー.おそらくは相手側がセッションをクローズした. | 
| JBXL_NET_RECV_ERROR | 受信エラー. | 
| JBXL_NET_RECV_TIMEOUT | タイムアウト. | 
Definition at line 370 of file xtools.cpp.
References Buffer::buf, Buffer::bufsz, JBXL_ARGS_ERROR, tcp_recv_wait(), and Buffer::vldsz.
Referenced by recv_http_chunked(), recv_http_chunked_remain(), recv_http_content(), recv_http_header(), tcp_recv_Buffer_tosize_wait(), tcp_recv_lines_Buffer(), and tcp_recv_mstream_Buffer().


| int tcp_recv_lines_Buffer | ( | int | sock, | 
| Buffer * | mesg, | ||
| int | tm ) | 
int tcp_recv_lines_Buffer(int sock, Buffer* mesg, int tm)
TCP経由でメッセージを受信する.
複数行分(\nで終わることが保証される)のデータを取り出さすことのできる簡易バッファ機能付き. ここからさらに一行分のデータを取り出すには,get_line() などを使用する.
また,ネットワークより直接一行づつ取り出すには,tcp_recv_mstream_Buffer() を使うほうが良い.
| sock | ソケット記述子 | 
| mesg | 受信用データバッファ.予めメモリを確保しておく. | 
| tm | タイムアウト時間.秒単位. | 
| 1以上 | 受信されたバイト数. | 
| 0 | おそらくは相手側がセッションをクローズした. | 
| JBXL_NET_RECV_ERROR | 受信エラー. | 
| JBXL_ARGS_ERROR | bufがNULL | 
| JBXL_NET_RECV_TIMEOUT | タイムアウト. | 
Definition at line 646 of file xtools.cpp.
References Buffer::buf, cat_Buffer(), CHAR_LF, clear_Buffer(), free_Buffer(), JBXL_ARGS_ERROR, LBUF, make_Buffer(), tcp_recv_Buffer_wait(), and Buffer::vldsz.

int tcp_recv_mstream_Buffer(int sock, Buffer* mesg, mstream* sb, int tm)
TCP経由でメッセージを受信する.
受信メッセージはメッセージストリーム に一旦バッファリングされ,この関数により一行ずつ読み出される.
mesgに格納される時,行中の改行コードは削除され,行末には必ず '\0' が入る.
タイムアウトの設定が可能でタイムアウトに 0を指定した場合, 呼び出した時点で 読み込み可能データがなければすぐにタイムアウトとなる (JBXL_NET_RECV_TIMEOUT が返る).
メッセージストリームのバッファ部が確保されていない場合は,最初に呼び出された時点で確保される.
一旦この関数を使用して,受信データをバッファリングしたら,ソケットをクローズするまで, 読み取りには必ず同じストリームを使用してこの関数を呼び出さばければならない.
そうで無い場合は受信データの整合性は保証されない.
| sock | ソケット記述子 | 
| mesg | 受信用データバッファ.バッファ部を確保する必要はない. | 
| sb | メッセージバッファ(リング型のストリームバッファ) バッファ部が確保さえていなければ,自動的に確保される. | 
| tm | タイムアウト時間.秒単位. | 
| 1以上 | mesgに格納したメッセージのバイト数. | 
| 0 | おそらくは相手側がセッションをクローズした. | 
| JBXL_NET_RECV_ERROR | 受信エラー. | 
| JBXL_ARGS_ERROR | 引数に NULLのデータがある. | 
| JBXL_MALLOC_ERROR | メッセージバッファ部が無いので確保しようとしたが,確保に失敗した. | 
| JBXL_NET_BUF_ERROR | メッセージバッファにデータは存在するはずだが,原因不明の理由により獲得に失敗した. | 
| JBXL_NET_RECV_TIMEOUT | タイムアウト. | 
Definition at line 592 of file xtools.cpp.
References Buffer::buf, clear_Buffer(), copy_s2Buffer, free_Buffer(), get_mstream(), JBXL_ARGS_ERROR, JBXL_MALLOC_ERROR, JBXL_NET_BUF_ERROR, LBUF, make_Buffer(), make_mstream, put_mstream(), RECVBUFSZ, tcp_recv_Buffer_wait(), and Buffer::vldsz.

| int tcp_send_Buffer | ( | int | sock, | 
| Buffer * | str ) | 
int tcp_send_Buffer(int sock, Buffer* str)
TCP経由でデータを送信する.
| sock | ソケット記述子 | 
| str | 送信用データバッファ. | 
| 0以上 | 送信したバイト数. | 
| JBXL_NET_SEND_ERROR | 送信失敗 | 
Definition at line 305 of file xtools.cpp.
References Buffer::buf, JBXL_ARGS_ERROR, JBXL_NET_SEND_ERROR, and Buffer::vldsz.
Referenced by send_http_Buffer(), send_http_file(), send_http_header(), simple_web_proxy(), tcp_relay(), and www2browser_relay().

| int tcp_send_sBuffer | ( | int | sock, | 
| Buffer * | str ) | 
int tcp_send_sBuffer(int sock, Buffer* str)
TCP経由で文字列データを送信する.
| sock | ソケット記述子 | 
| str | 送信用データバッファ. | 
| 0以上 | 送信バイト数. | 
| -1 | 失敗 (send()の戻り値). | 
Definition at line 524 of file xtools.cpp.
References Buffer::buf, and JBXL_ARGS_ERROR.
| int tcp_send_sBufferln | ( | int | sock, | 
| Buffer * | str ) | 
int tcp_send_sBufferln(int sock, Buffer* str)
TCPメッセージ(文字列)に改行(\r\n)を付け加えて送信する.
| sock | ソケット記述子 | 
| str | 送信用メッセージバッファ. | 
| 0以上 | 送信バイト数(改行を含む). | 
| - | 1 失敗 (send()の戻り値). | 
Definition at line 546 of file xtools.cpp.
References Buffer::buf, cat_s2Buffer, dup_Buffer(), free_Buffer(), and JBXL_ARGS_ERROR.

| int udp_recv_Buffer | ( | int | sock, | 
| Buffer * | str, | ||
| struct addrinfo * | sv_addr ) | 
int udp_recv_Buffer(int sock, Buffer* str, struct addrinfo* sv_addr)
recvform()をラッピングした関数.UDPデータを受信する.
| sock | ソケット記述子 | 
| str | 受信用メッセージバッファへのポインタ.予めバッファ部を確保しておく. | 
| sv_addr | サーバの情報が格納された addrinfo 構造体へのポインタ. | 
| 1以上 | 受信したバイト数. | 
| 0 | 正常切断. | 
| JBXL_ARGS_ERROR | 不正な引数 | 
| JBXL_NET_RECV_ERROR | 受信失敗 | 
Definition at line 212 of file xtools.cpp.
References Buffer::buf, Buffer::bufsz, JBXL_ARGS_ERROR, JBXL_NET_RECV_ERROR, JBXL_NORMAL, socklen_t, Buffer::state, and Buffer::vldsz.
| int udp_recv_Buffer_sockaddr_in | ( | int | sock, | 
| Buffer * | str, | ||
| struct sockaddr_in * | sv_addr ) | 
int udp_recv_Buffer_sockaddr_in(int sock, Buffer* str, struct sockaddr_in* sv_addr)
recvform()をラッピングした関数.UDPデータを受信する.IPv4専用.
| sock | ソケット記述子 | 
| str | 受信用メッセージバッファへのポインタ.予めバッファ部を確保しておく. | 
| sv_addr | サーバの情報が格納された sockaddr_in 構造体へのポインタ. | 
| 1以上 | 受信したバイト数. | 
| 0 | 正常切断. | 
| JBXL_ARGS_ERROR | 不正な引数 | 
| JBXL_NET_RECV_ERROR | 受信失敗 | 
Definition at line 38 of file xtools.cpp.
References Buffer::buf, Buffer::bufsz, JBXL_ARGS_ERROR, JBXL_NET_RECV_ERROR, JBXL_NORMAL, socklen_t, Buffer::state, and Buffer::vldsz.
| int udp_recv_Buffer_wait | ( | int | sock, | 
| Buffer * | str, | ||
| struct addrinfo * | sv_addr, | ||
| int | tm ) | 
int udp_recv_Buffer_wait(int sock, Buffer* str, struct addrinfo* sv_addr, int tm)
UDP経由でデータを受信する.待ち時間(タイムアウト)を指定できる.
タイムアウトの設定が可能.タイムアウトに 0を指定した場合, recv_wait()関数を呼び出した時点で読み込み可能データがなければ すぐにタイムアウトとなる (JBXL_NET_RECV_TIMEOUT が返る).
| sock | ソケット記述子 | 
| str | 受信用メッセージバッファ.予めメモリを確保しておく. | 
| sv_addr | サーバの情報が格納された sockaddar_in 構造体へのポインタ. | 
| tm | タイムアウト時間.秒単位. | 
| 0以上 | 受信したバイト数. | 
| JBXL_ARGS_ERROR | 不正な引数 | 
| JBXL_NET_RECV_ERROR | 受信失敗. | 
| JBXL_NET_RECV_TIMEOUT | タイムアウト. | 
Definition at line 337 of file xtools.cpp.
References Buffer::buf, Buffer::bufsz, JBXL_ARGS_ERROR, udp_recv_wait(), and Buffer::vldsz.

| int udp_recv_Buffer_wait_sockaddr_in | ( | int | sock, | 
| Buffer * | str, | ||
| struct sockaddr_in * | sv_addr, | ||
| int | tm ) | 
int udp_recv_Buffer_wait_sockaddr_in(int sock, Buffer* str, struct sockaddr_in* sv_addr, int tm)
UDP経由でデータを受信する.
タイムアウトの設定が可能.タイムアウトに 0を指定した場合, recv_wait()関数を呼び出した時点で読み込み可能データがなければ すぐにタイムアウトとなる (JBXL_NET_RECV_TIMEOUT が返る).
| sock | ソケット記述子 | 
| str | 受信用メッセージバッファ.予めメモリを確保しておく. | 
| sv_addr | サーバの情報が格納された sockaddar_in 構造体へのポインタ. | 
| tm | タイムアウト時間.秒単位. | 
| 0以上 | 受信したバイト数. | 
| JBXL_ARGS_ERROR | 不正な引数 | 
| JBXL_NET_RECV_ERROR | 受信失敗. | 
| JBXL_NET_RECV_TIMEOUT | タイムアウト. | 
Definition at line 130 of file xtools.cpp.
References Buffer::buf, Buffer::bufsz, JBXL_ARGS_ERROR, udp_recv_wait_sockaddr_in(), and Buffer::vldsz.

| int udp_send_Buffer | ( | int | sock, | 
| Buffer * | str, | ||
| struct addrinfo * | sv_addr ) | 
int udp_send_Buffer(int sock, Buffer* str, struct addrinfo* sv_addr)
sendto() をラッピングした関数.UDP経由でデータを送る.
| sock | ソケット記述子 | 
| str | 送信するデータ | 
| sv_addr | サーバの情報を格納する addrinfo 構造体へのポインタ. | 
| 0以上 | 送信したバイト数. | 
| JBXL_ARGS_ERROR | 不正な引数 | 
| JBXL_NET_SEND_ERROR | 送信失敗 | 
Definition at line 248 of file xtools.cpp.
References Buffer::buf, JBXL_ARGS_ERROR, JBXL_NET_SEND_ERROR, and Buffer::vldsz.
| int udp_send_Buffer_sockaddr_in | ( | int | sock, | 
| Buffer * | str, | ||
| struct sockaddr_in * | sv_addr ) | 
int udp_send_Buffer_sockaddr_in(int sock, Buffer* str, struct sockaddr_in* sv_addr)
sendto() をラッピングした関数.UDP経由でデータを送る.IPv4専用.
| sock | ソケット記述子 | 
| str | 送信するデータ | 
| sv_addr | サーバの情報を格納する sockaddr_in 構造体へのポインタ. | 
| 0以上 | 送信したバイト数. | 
| JBXL_ARGS_ERROR | 不正な引数 | 
| JBXL_NET_SEND_ERROR | 送信失敗 | 
Definition at line 72 of file xtools.cpp.
References Buffer::buf, JBXL_ARGS_ERROR, JBXL_NET_SEND_ERROR, and Buffer::vldsz.
| int udp_send_sBuffer | ( | int | sock, | 
| Buffer * | str, | ||
| struct addrinfo * | sv_addr ) | 
int udp_send_sBuffer(int sock, Buffer* str, struct addrinfo* sv_addr)
UDP経由で文字列データを送る.
| sock | ソケット記述子 | 
| str | 送信するデータ | 
| sv_addr | サーバの情報を格納する addrinfo 構造体へのポインタ. | 
| 0以上 | 送信したバイト数. | 
| JBXL_ARGS_ERROR | 不正な引数 | 
| JBXL_NET_SEND_ERROR | 送信失敗 | 
Definition at line 499 of file xtools.cpp.
References Buffer::buf, JBXL_ARGS_ERROR, and JBXL_NET_SEND_ERROR.
| int udp_send_sBuffer_sockaddr_in | ( | int | sock, | 
| Buffer * | str, | ||
| struct sockaddr_in * | sv_addr ) | 
int udp_send_sBuffer_sockaddr_in(int sock, Buffer* str, struct sockaddr_in* sv_addr)
UDP経由で文字列データを送る.IPv4専用.
| sock | ソケット記述子 | 
| str | 送信するデータ | 
| sv_addr | サーバの情報を格納する sockaddr_in 構造体へのポインタ. | 
| 0以上 | 送信したバイト数. | 
| JBXL_ARGS_ERROR | 不正な引数 | 
| JBXL_NET_SEND_ERROR | 送信失敗 | 
Definition at line 99 of file xtools.cpp.
References Buffer::buf, JBXL_ARGS_ERROR, and JBXL_NET_SEND_ERROR.