JunkBox_Lib++ (for Windows) 1.10.1
|
IP Address Tool Header. More...
Go to the source code of this file.
Functions | |
tList * | read_ipaddr_file (char *fn) |
tList * | read_ipaddr_fp (FILE *fp) |
tList * | to_ipaddress_list (tList *lp) |
int | is_host_in_list (tList *lp, unsigned char *, char *host) |
int | is_ipaddr_num_in_list (tList *lp, unsigned char *ipnum) |
void | print_address_in_list (FILE *fp, tList *lp) |
Definition in file ipaddr_tool.h.
int is_host_in_list | ( | tList * | lp, |
unsigned char * | num, | ||
char * | hname ) |
int is_host_in_list(tList* lp, unsigned char* num, char* hname)
リストlpの キー部に格納されている ホスト情報と num, hname が同じネットワークに属するか どうかをチェックする.num と hname はどちらか一方が指定されていれば十分である.
先ず,lpのキー部(FQDN)と hname が比較される.つまり,キー部がドメイン名の一部の場合は hnameと比較する(後方一致).
次に,lpのキー部がドメイン名でない場合(IPアドレスの場合)は num と比較される.
lp | チェックするIPアドレス(文字列)の格納されているリスト. |
num | 比較するIPアドレス(1byte unsigned 整数型)4Byte. 8Byte型(addr/mask)でも作動するが,ネットマスク部はされる. |
hname | 比較するホスト名(文字列).通常は numから逆引きされたもの. |
TRUE | リスト中に同じネットワークに属するエントリが存在する. |
FALSE | リスト中に同じネットワークに属するエントリは存在しない. |
Definition at line 143 of file ipaddr_tool.cpp.
References FALSE, is_same_network_num_ipv4, strnrvscmp(), to_address_num8_ipv4, and TRUE.
int is_ipaddr_num_in_list | ( | tList * | lp, |
unsigned char * | num ) |
int is_ipaddr_num_in_list(tList* lp, unsigned char* num)
リストlpの キー部に格納されている ホスト情報と num が同じネットワークに属するかどうかをチェックする.
リストのキー部がFQDNであってもチェック可能.
lp | チェックするIPアドレス(文字列)の格納されているリスト. |
num | 比較するIPアドレス(バイナリ)4Byte. 8Byte型(addr/mask)でも作動するが,ネットマスク部は無視される. |
TRUE | リスト中に同じネットワークに属するエントリが存在する. |
FALSE | リスト中に同じネットワークに属するエントリは存在しない. |
Definition at line 181 of file ipaddr_tool.cpp.
References FALSE, is_same_network_num_ipv4, to_address_num8_ipv4, and TRUE.
void print_address_in_list | ( | FILE * | fp, |
tList * | lp ) |
void print_address_in_list(FILE* fp, tList* lp)
リスト中のドメイン名,またはIPアドレスを表示する. FQDNはIPアドレスに変換して表示する.
fp | 出力先のファイル記述子 |
lp | ドメイン名またはIPアドレスをキー部に格納したリストへのポインタ |
Definition at line 211 of file ipaddr_tool.cpp.
References to_address_num8_ipv4.
tList * read_ipaddr_file | ( | char * | fn | ) |
tList* read_ipaddr_file(char* fn)
ファイルから IPアドレスを読み込んで,[IPアドレス]/[ネットマスク] の形式に 変換して,リストに格納する.FQDNはIPアドレスに変換される.
FQDNでないドメイン名,文字列は / 以後を無視して文字列のままリストに格納する.
データの読み取り時に次の処理が行なわれる.
fn | ファイル名 |
Definition at line 25 of file ipaddr_tool.cpp.
References del_all_tList(), read_tList_file(), and to_ipaddress_list().
tList * read_ipaddr_fp | ( | FILE * | fp | ) |
tList* read_ipaddr_fp(FILE* fp)
ファイルから IPアドレスを読み込んで,[IPアドレス]/[ネットマスク] の形式に 変換して,リストに格納する.FQDNはIPアドレスに変換される.
FQDNでないドメイン名,文字列は / 以後を無視して文字列のままリストに格納する.
データの読み取り時に次の処理が行なわれる.
fp | ファイルポインタ |
Definition at line 55 of file ipaddr_tool.cpp.
References del_all_tList(), read_tList_fp(), and to_ipaddress_list().
tList* to_ipaddress_list(tList* lp)
リスト中の IPアドレスを [IPアドレス]/[ネットマスク] の形式に 変換して,新しいリストに格納する.FQDNはIPアドレスに変換される.
変換に to_address_num8() を使用.CIDER対応.
FQDNでないドメイン名,文字列は / 以後を無視して文字列のまま 新しいリストに格納する. 後の is_host_in_list()などを高速に行なうための前処理.
lp | 変換前(ファイルなどから読み込んだまま)のデータの入ったリスト |
Definition at line 83 of file ipaddr_tool.cpp.
References add_tList_node_str, awk(), to_address_char8_ipv4, and to_address_num8_ipv4.
Referenced by read_ipaddr_file(), and read_ipaddr_fp().