unsigned intdb_locate_servers( SQLCA * sqlca, SQL_CALLBACK_PARM callback_address, void * callback_user_data );
TCP/IP で受信しているローカル・ネットワーク上のすべての SQL Anywhere データベース・サーバをリストして、dblocate ユーティリティによって表示される情報にプログラムからアクセスできるようにします。
コールバック関数には、次のプロトタイプが必要です。
int (*)( SQLCA * sqlca, a_server_address * server_addr, void * callback_user_data );
コールバック関数は、検出されたサーバごとに呼び出されます。コールバック関数が 0 を返すと、db_locate_servers はサーバ間の反復を中止します。
コールバック関数に渡される sqlca と callback_user_data は、db_locate_servers に渡されるものと同じです。2 番目のパラメータは a_server_address 構造体へのポインタです。a_server_address は sqlca.h で次のように定義されています。
typedef struct a_server_address { a_sql_uint32 port_type; a_sql_uint32 port_num; char *name; char *address; } a_server_address; |
port_type この時点では常に PORT_TYPE_TCP です (sqlca.h では 6 に定義されています)。
port_num このサーバが受信している TCP ポート番号です。
name サーバ名があるバッファを指します。
address サーバの IP アドレスがあるバッファを指します。
正常終了すると 1 を返し、それ以外は 0 を返します。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |