ba_decode_ifname() - 物理的なインタフェース名と通信方向を抽出します。
#include <netinet/ba_stat.h> int ba_decode_ifname( const char *ifname, /*bandwidth manager interface name*/ char *interface, /*physical interface*/ uint_t *direction /*traffic direction*/ );
ba_decode_ifname() 関数は、Solaris Bandwidth Manager インタフェース名 ifname から、インタフェースによって処理されるトラフィックの物理的なインタフェース名 interface と通信方向を抽出します。たとえば、ifname に le0_in が含まれている場合、インタフェースは le0 で、通信方向は BA_DIR_INCOMING です。
ba_decode_ifname() 関数には次の引数を渡します。
|
ifname |
コード化されたインタフェース名 (le0_in など) を含む文字列を指すポインタ |
|
interface |
デコード化された物理的なインタフェース名を指すポインタ。必ず十分なメモリーを割り当ててください。 |
|
direction |
デコード化された通信方向を指すポインタ |
ba_decode_ifname() 関数は、正常に終了した場合には書き込まれた文字数、エラー時には -1 を返します。
ba_decode_ifname() 呼び出しの際にエラーが発生すると、変数 ba_errno は表 4-2 に示したエラーコードの 1 つに設定されます。