Solaris Bandwidth Manager 1.6 の開発

ba_list_classes()

名前

ba_list_classes() - 指定されたクラスの子クラスを取得します。

形式

#include <netinet/ba_stat.h>

int ba_list_classes (
	 const char *interface_suffix, /* interface name */
  const char *classname, /* class name */
  ba_class_pair_t **classes /* array containing information requested */
);

説明

ba_list_classes() 関数は、 指定されたクラスの親クラスと子クラスの名前のリストを取得します。これらは親子ペアの配列で返され、指定されたクラス名を含みます。root クラスの親は root です。

引数

ba_list_classes() 関数には次の引数を渡します。

interface

le0_suffixhme0_suffix など、管理されているインタフェース名が入った文字列を指すポインタ。suffix は、インタフェースが着信トラフィックを処理することを示す in、または発信トラフィックを処理することを示す out のどちらか

classname

情報を必要としているクラス名が入った文字列を指すポインタ 

classes

親クラスと子クラスの名前が入った、ba_class_pair_t 型の構造体の配列を指すポインタ。親子ペアごとに構造体が 1 つ存在する

メモリーは自動的に割り当てられる。メモリーが不要になった時点で ba_free() を呼び出す必要がある

ba_class_pair_t 型の構造体は次のように定義されています。


typedef struct {
	ba_name_t       parent;   /* name of the parent */
	ba_name_t       child;    /* name of the class */
} ba_class_pair_t;

ba_class_pair_t 型の構造体には、次のように定義される ba_name_t 型の構造体のペアが入ります。


typedef struct {
	char    name[BA_NAMES_LEN + 1];
	char    padding[3];
	u_short namelen;
	char    padding2[2];
} ba_name_t;

戻り値

ba_list_classes() 関数は、正常に終了した場合にはクラス数、エラー時には -1 を返します。

エラー

ba_list_classes() 呼び出しの際にエラーが発生すると、変数 ba_errno表 4-2 に示したエラーコードの 1 つに設定されます。