Provides programmatic access to the information displayed by the dblocate utility, listing all the SQL Anywhere database servers
on the local network that are listening on TCP/IP, and provides a mask parameter used to select addresses passed to the callback
function.
The callback function must have the following prototype:
The callback function is called for each server found. If the callback function returns 0, db_locate_servers_ex stops iterating
through servers.
The sqlca and callback_user_data passed to the callback function are those passed into db_locate_servers. The second parameter
is a pointer to an a_server_address structure. a_server_address is defined in sqlca.h, with the following definition:
port_type
Is always PORT_TYPE_TCP at this time (defined to be 6 in sqlca.h).
port_num
Is the TCP port number on which this server is listening.
name
Points to a buffer containing the server name.
address
Points to a buffer containing the IP address of the server.
dbname
Points to a buffer containing the database name.
Three bitmask flags are supported:
DB_LOOKUP_FLAG_NUMERIC
DB_LOOKUP_FLAG_ADDRESS_INCLUDES_PORT
DB_LOOKUP_FLAG_DATABASES
These flags are defined in sqlca.h and can be ORed together.
DB_LOOKUP_FLAG_NUMERIC ensures that addresses passed to the callback function are IP addresses, instead of host names.
DB_LOOKUP_FLAG_ADDRESS_INCLUDES_PORT specifies that the address includes the TCP/IP port number in the a_server_address structure
passed to the callback function.
DB_LOOKUP_FLAG_DATABASES specifies that the callback function is called once for each database found, or once for each database
server found if the database server doesn't support sending database information (version 9.0.2 and earlier database servers).