Solaris 8 のソフトウェア開発 (追補)

gld_stats 構造体

GLD 統計 (gld_stats) 構造体は、gld(9E) および gld(7D) で記述されているように、ドライバの gldm_get_stats() ルーチンから戻るときに、GLD ベースのドライバから GLD に統計情報および状態情報を伝えるために使用します。この構造体のメンバーは、GLD ベースのドライバによってセットされ、GLD が統計情報を報告するときに使用されます。後出の表では、GLD が報告する統計変数の名前がコメントで示されています。個々の統計情報の詳細については、gld(7D) のマニュアルページを参照してください。

ドライバはこの構造体の長さに関して仮定することができません。 Solaris、GLD、またはその両方のリリースごとに異なる可能性があります。 このマニュアルに記載されていない GLD 専用の構造体のメンバーは、デバイス固有のドライバによって設定したり読み取ったりしてはなりません。

次の構造体のメンバーは、すべてのメディアタイプに対して定義されます。

uint64_t        glds_speed;                         /* ifspeed */
uint32_t        glds_media;                         /* media */
uint32_t        glds_intr;                          /* intr */
uint32_t        glds_norcvbuf;                      /* norcvbuf */
uint32_t        glds_errrcv;                        /* ierrors */
uint32_t        glds_errxmt;                        /* oerrors */
uint32_t        glds_missed;                        /* missed */
uint32_t        glds_underflow;                     /* uflo */
uint32_t        glds_overflow;                      /* oflo */

次の構造体のメンバーは、メディアタイプ DL_ETHER に対して定義されます。

uint32_t        glds_frame;                         /* align_errors */
uint32_t        glds_crc;                           /* fcs_errors */
uint32_t        glds_duplex;                        /* duplex */
uint32_t        glds_nocarrier;                     /* carrier_errors */
uint32_t        glds_collisions;                    /* collisions */
uint32_t        glds_excoll;                        /* ex_collisions */
uint32_t        glds_xmtlatecoll;                   /* tx_late_collisions */
uint32_t        glds_defer;                         /* defer_xmts */
uint32_t        glds_dot3_first_coll;               /* first_collisions */
uint32_t        glds_dot3_multi_coll;               /* multi_collisions */
uint32_t        glds_dot3_sqe_error;                /* sqe_errors */
uint32_t        glds_dot3_mac_xmt_error;            /* macxmt_errors */
uint32_t        glds_dot3_mac_rcv_error;            /* macrcv_errors */
uint32_t        glds_dot3_frame_too_long;           /* toolong_errors */
uint32_t        glds_short;                         /* runt_errors */

次の構造体のメンバーは、メディアタイプ DL_TPR に対して定義されます。

uint32_t        glds_dot5_line_error                /* line_errors */
uint32_t        glds_dot5_burst_error               /* burst_errors */
uint32_t        glds_dot5_signal_loss               /* signal_losses */
uint32_t        glds_dot5_ace_error                 /* ace_errors */
uint32_t        glds_dot5_internal_error            /* internal_errors */
uint32_t        glds_dot5_lost_frame_error          /* lost_frame_errors */
uint32_t        glds_dot5_frame_copied_error        /* frame_copied_errors */
uint32_t        glds_dot5_token_error               /* token_errors */
uint32_t        glds_dot5_freq_error                /* freq_errors */

次の構造体のメンバーは、メディアタイプ DL_FDDI に対して定義されます。

uint32_t        glds_fddi_mac_error;                /* mac_errors */
uint32_t        glds_fddi_mac_lost;                 /* mac_lost_errors */
uint32_t        glds_fddi_mac_token;                /* mac_tokens */
uint32_t        glds_fddi_mac_tvx_expired;          /* mac_tvx_expired */
uint32_t        glds_fddi_mac_late;                 /* mac_late */
uint32_t        glds_fddi_mac_ring_op;              /* mac_ring_ops */

上記の統計変数のほとんどは、特定のイベントが検出された回数を示すカウンタです。例外は次のとおりです。

glds_speed

インタフェースの現在の帯域幅の概算値 (ビット/秒)。帯域幅の変動のないインタフェース、または正確な推定ができないインタフェースの場合、このオブジェクトには公称の帯域幅が入ります。

glds_media

ハードウェアで使用されているメディア (配線) またはコネクタのタイプ。現在サポートされているメディア名には、 GLDM_AUIGLDM_BNCGLDM_TPGLDM_10BTGLDM_100BTGLDM_100BTXGLDM_100BT4GLDM_RING4GLDM_RING16GLDM_FIBER、 および GLDM_PHYMII が含まれます。GLDM_UNKNOWN を指定することもできます。

glds_duplex

インタフェースの現在の二重状態。サポートされる値は、GLD_DUPLEX_HALF および GLD_DUPLEX_FULL です。GLD_DUPLEX_UNKNOWN を指定することもできます。