サーバーの設定に関連するデータ

提供: InterBase

サーバー設定のクエリ へ戻る


ソフトウェア ライセンス

isc_info_svc_get_license 結果バッファ項目は、複数のデータのセットを引数として返します。 サーバー上の ib_license.dat ファイルに含まれるソフトウェア ライセンスのそれぞれに対して、このクラスタは Certification ID および Certification Key 文字列を返します。 サーバー上に複数のライセンスがインストールされている場合、戻りバッファは、ID とキー文字列の複数のペアを格納します。 バッファ内容の末尾は、クラスタの isc_info_flag_end 値によって示されます。 次の表に、ライセンス情報に関するクラスタ識別子を示します。

引数 目的 戻り値
の長さ
戻り値

isc_spb_lic_id

ソフトウェア ライセンスの Certification ID 文字列

2 バイト + 文字列

文字列

isc_spb_lic_key

ソフトウェア ライセンスの対応するCertification Key文字列

2 バイト + 文字列

文字列

isc_info_flag_end

引数の終わりを isc_info_svc_get_license に通知する

サービス API を使ったクエリ: ソフトウェア ライセンス


. . .
case isc_info_svc_get_license: {
printf ("Software activation certificates:\n");
do {
switch (*p++) {
case isc_spb_lic_key: {
path_length = (unsigned short)
isc_portable_integer (p, sizeof(unsigned short));
p += sizeof (unsigned short);
buffer = (char*) malloc (path_length);
strncpy (buffer, p, path_length);
buffer [path_length] = '\0';
printf ("\tLicense Key: %s\n", buffer);
free(buffer);
p += path_length;
break;
}
case isc_spb_lic_id: {
path_length = (unsigned short)
isc_portable_integer (p, sizeof(unsigned short));
p += sizeof (unsigned short);
buffer = (char*) malloc (path_length);
strncpy (buffer, p, path_length);
buffer [path_length] = '\0';
printf ("\tLicense ID: %s\n", buffer);
free(buffer);
p += path_length;
break;
}
}
} while (*p != isc_info_flag_end);
break;
}
. . .


サーバー設定プロパティ

Services Manager に対してサーバー上の InterBase 設定ファイルの内容をレポートするように要求することができます。 このファイルは InterBase のインストール ディレクトリにあり、すべてのプラットフォームで ibconfig というファイル名になります。

結果バッファのクラスタは、isc_info_svc_get_config 識別子とそれに続く 2 バイトの数値データから構成されます。 後続のデータは、1 バイトの設定エントリ識別子と 4 バイトの値のペアです。 文字列値を持つ設定エントリ(たとえば TMP_DIRECTORY)は、このクラスタでは現在サポートされていません。

設定項目のいくつかは、特定のプラットフォームにのみ対応します。 Services Manager は、Services Manager を実行している対応サーバー プラットフォームに関係する設定データだけを返します。

Services Manager は、デフォルト値に設定されている設定項目の値は返しません。

サービス API を使ったクエリ: サーバー設定情報


. . .
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;
}
. . .

次は: