コード例 #1
0
ファイル: packet-ipmi-storage.c プロジェクト: mcrotty/stack
/* Get SEL Info
 */
static void
rs40(tvbuff_t *tvb, proto_tree *tree)
{
	static const int *ops[] = { &hf_ipmi_stor_40_op_overflow, &hf_ipmi_stor_40_op_delete,
		&hf_ipmi_stor_40_op_partial_add, &hf_ipmi_stor_40_op_reserve, &hf_ipmi_stor_40_op_allocinfo, NULL };

	proto_tree_add_item(tree, hf_ipmi_stor_40_sel_version, tvb, 0, 1, ENC_LITTLE_ENDIAN);
	proto_tree_add_item(tree, hf_ipmi_stor_40_entries, tvb, 1, 2, ENC_LITTLE_ENDIAN);
	proto_tree_add_item(tree, hf_ipmi_stor_40_free_space, tvb, 3, 2, ENC_LITTLE_ENDIAN);
	ipmi_add_timestamp(tree, hf_ipmi_stor_40_ts_add, tvb, 5);
	ipmi_add_timestamp(tree, hf_ipmi_stor_40_ts_erase, tvb, 9);
	proto_tree_add_bitmask_text(tree, tvb, 13, 1, "Operation Support: ", NULL,
			ett_ipmi_stor_40_ops, ops, ENC_LITTLE_ENDIAN, 0);
}
コード例 #2
0
/* Get SDR Repository Info
 */
static void
rs20(tvbuff_t *tvb, proto_tree *tree)
{
    static const int *ops[] = { &hf_ipmi_stor_20_op_overflow, &hf_ipmi_stor_20_op_update,
                                &hf_ipmi_stor_20_op_delete, &hf_ipmi_stor_20_op_partial_add, &hf_ipmi_stor_20_op_reserve,
                                &hf_ipmi_stor_20_op_allocinfo, NULL
                              };
    guint8 v;

    v = tvb_get_guint8(tvb, 0);
    proto_tree_add_item(tree, hf_ipmi_stor_20_sdr_version, tvb, 0, 1, TRUE);
    proto_tree_add_item(tree, hf_ipmi_stor_20_rec_count, tvb, 1, 2, TRUE);
    proto_tree_add_item(tree, hf_ipmi_stor_20_free_space, tvb, 3, 2, TRUE);
    ipmi_add_timestamp(tree, hf_ipmi_stor_20_ts_add, tvb, 5);
    ipmi_add_timestamp(tree, hf_ipmi_stor_20_ts_erase, tvb, 9);
    proto_tree_add_bitmask_text(tree, tvb, 13, 1, "Operation Support: ", NULL,
                                ett_ipmi_stor_20_ops, ops, TRUE, 0);
}
コード例 #3
0
ファイル: packet-ipmi-chassis.c プロジェクト: flaub/HotFuzz
static void
bootopt_06(tvbuff_t *tvb, proto_tree *tree)
{
	static const int *byte1[] = { &hf_ipmi_chs_bo06_chan_num, NULL };

	proto_tree_add_bitmask_text(tree, tvb, 0, 1, NULL, NULL,
			ett_ipmi_chs_bo06_byte1, byte1, TRUE, 0);
	proto_tree_add_item(tree, hf_ipmi_chs_bo06_session_id, tvb, 1, 4, TRUE);
	ipmi_add_timestamp(tree, hf_ipmi_chs_bo06_bootinfo_timestamp, tvb, 5);
}
コード例 #4
0
static void
rs5a(tvbuff_t *tvb, proto_tree *tree)
{
    guint32 v;

    if (!ipmi_getsaveddata(0, &v) || v > 2) {
        proto_tree_add_item(tree, hf_ipmi_stor_5a_unknown, tvb, 0, tvb_length(tvb), TRUE);
        return;
    }

    ipmi_add_timestamp(tree, hf_ipmi_stor_5a_ts_add, tvb, 0);
    if (v  == 0) {
        proto_tree_add_item(tree, hf_ipmi_stor_5a_num_entries, tvb, 4, 4, TRUE);
    } else if (v == 1 || v == 2) {
        proto_tree_add_item(tree, hf_ipmi_stor_5a_iana, tvb, 4, 3, TRUE);
        proto_tree_add_item(tree, hf_ipmi_stor_5a_bytes, tvb, 7, 7, TRUE);
    }
}
コード例 #5
0
/* Set Auxiliary Log Status
 */
static void
rq5b(tvbuff_t *tvb, proto_tree *tree)
{
    static const int *byte1[] = { &hf_ipmi_stor_5b_log_type, NULL };
    guint8 v = tvb_get_guint8(tvb, 0);

    proto_tree_add_bitmask_text(tree, tvb, 0, 1, NULL, NULL,
                                ett_ipmi_stor_5b_byte1, byte1, TRUE, 0);

    if (v > 2) {
        proto_tree_add_item(tree, hf_ipmi_stor_5b_unknown, tvb, 1, tvb_length(tvb) - 1, TRUE);
        return;
    }

    ipmi_add_timestamp(tree, hf_ipmi_stor_5b_ts_add, tvb, 1);
    if (v  == 0) {
        proto_tree_add_item(tree, hf_ipmi_stor_5b_num_entries, tvb, 5, 4, TRUE);
    } else if (v == 1 || v == 2) {
        proto_tree_add_item(tree, hf_ipmi_stor_5b_iana, tvb, 5, 3, TRUE);
        proto_tree_add_item(tree, hf_ipmi_stor_5b_bytes, tvb, 8, 8, TRUE);
    }
}
コード例 #6
0
/* Set SEL Time
 */
static void
rq49(tvbuff_t *tvb, proto_tree *tree)
{
    ipmi_add_timestamp(tree, hf_ipmi_stor_49_time, tvb, 0);
}