Server configuration properties

From InterBase
Jump to: navigation, search

Go Up to Additional Data for Server Configuration


You can request the Services Manager to report the contents of the InterBase configuration file on the server. This file is in the installation directory of InterBase, and is named ibconfig on all platforms.

The result buffer cluster consists of the isc_info_svc_get_config identifier, followed by a two-byte number of data. The data follow as pairs of single-byte configuration entry identifiers and four-byte values. Configuration entries with string values, such as TMP_DIRECTORY, are not currently supported by this cluster.

Some of the configuration items are relevant only on specific platforms. The Services Manager returns only configuration data that are relevant to the respective server platform that runs the Services Manager.

The Services Manager does not return values for configuration items that are set to their default value.

Querying using Services API: server configuration information

. . .
case isc_info_svc_get_config: {
unsigned short chTmp = 0, key;
unsigned long len = 0, ulConfigInfo;

printf ("Configuration Settings:\n");
len = (unsigned short)
isc_portable_integer(p, sizeof(unsigned short));
p += sizeof(unsigned short);
for (chTmp = 0; chTmp < len; chTmp++) {
key = p[chTmp];
ulConfigInfo = (unsigned long)
isc_portable_integer(p+ chTmp + 2, p[chTmp+1]);
switch (key) {
case ISCCFG_LOCKMEM_KEY:
printf ("\tLock mem: %d\n", ulConfigInfo);
break;
case ISCCFG_LOCKSEM_KEY:
printf ("\tLock Semaphores: %d\n", ulConfigInfo);
break;
case ISCCFG_LOCKSIG_KEY:
printf ("\tLock sig: %d\n", ulConfigInfo);
break;
case ISCCFG_EVNTMEM_KEY:
printf ("\tEvent mem: %d\n", ulConfigInfo);
break;
case ISCCFG_PRIORITY_KEY:
printf ("\tPriority: %d\n", ulConfigInfo);
break;
case ISCCFG_MEMMIN_KEY:
printf ("\tMin memory: %d\n", ulConfigInfo);
break;
case ISCCFG_MEMMAX_KEY:
printf ("\tMax Memory: %d\n", ulConfigInfo);
break;
case ISCCFG_LOCKORDER_KEY:
printf ("\tLock order: %d\n", ulConfigInfo);
break;
case ISCCFG_ANYLOCKMEM_KEY:
printf ("\tAny lock mem: %d\n", ulConfigInfo);
break;
case ISCCFG_ANYLOCKSEM_KEY:
printf ("\tAny lock semaphore: %d\n",
ulConfigInfo);
break;
case ISCCFG_ANYLOCKSIG_KEY:
printf ("\tany lock sig: %d\n", ulConfigInfo);
break;
case ISCCFG_ANYEVNTMEM_KEY:
printf ("\tany event mem: %d\n", ulConfigInfo);
break;
case ISCCFG_LOCKHASH_KEY:
printf ("\tLock hash: %d\n", ulConfigInfo);
break;
case ISCCFG_DEADLOCK_KEY:
printf ("\tDeadlock: %d\n", ulConfigInfo);
break;
case ISCCFG_LOCKSPIN_KEY:
printf ("\tLock spin: %d\n", ulConfigInfo);
break;
case ISCCFG_CONN_TIMEOUT_KEY:
printf ("\tConn timeout: %d\n", ulConfigInfo);
break;
case ISCCFG_DUMMY_INTRVL_KEY:
printf ("\tDummy interval: %d\n", ulConfigInfo);
break;
case ISCCFG_IPCMAP_KEY:
printf ("\tMap size: %d\n", ulConfigInfo);
break;
case ISCCFG_DBCACHE_KEY:
printf ("\tCache size: %d\n", ulConfigInfo);
break;
}
chTmp += p[chTmp+1] + 1;
}
break;
}
. . .