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.