OpenBIC
OpenSource Bridge-IC
storage_handler.h
Go to the documentation of this file.
1/*
2 * Copyright (c) Meta Platforms, Inc. and affiliates.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#ifndef STORAGE_HANDLER_H
18#define STORAGE_HANDLER_H
19
20#include "ipmi.h"
21
23 uint16_t record_id;
24 uint8_t record_type;
25 uint32_t timestamp;
26 uint8_t gen_id[2];
27 uint8_t evm_rev;
28 uint8_t sensor_type;
29 uint8_t sensor_num;
30
31 union {
32 struct {
33 uint8_t event_type : 7;
34 uint8_t event_dir : 1;
35 };
37 };
38 uint8_t event_data[3];
39} __attribute__((__packed__));
40
42 uint16_t record_id;
43 uint8_t record_type;
44 uint8_t general_info;
45 uint32_t timestamp;
47 uint8_t rsv_1;
48 uint8_t rsv_2;
49 uint8_t rsv_3;
53 uint8_t rsv_4;
54} __attribute__((__packed__));
55
57 union {
60 };
61} __attribute__((__packed__));
62
64 uint8_t record_id[2];
65} __attribute__((__packed__));
66
68
72void STORAGE_RSV_SDR(ipmi_msg *msg);
73void STORAGE_GET_SDR(ipmi_msg *msg);
74void STORAGE_ADD_SEL(ipmi_msg *msg);
75
77
78#endif
void STORAGE_GET_SDR(ipmi_msg *msg)
Definition: storage_handler.c:196
void STORAGE_WRITE_FRUID_DATA(ipmi_msg *msg)
Definition: storage_handler.c:119
void STORAGE_RSV_SDR(ipmi_msg *msg)
Definition: storage_handler.c:165
void STORAGE_GET_FRUID_INFO(ipmi_msg *msg)
Definition: storage_handler.c:34
void STORAGE_READ_FRUID_DATA(ipmi_msg *msg)
Definition: storage_handler.c:70
void STORAGE_ADD_SEL(ipmi_msg *msg)
Definition: storage_handler.c:257
void IPMI_Storage_handler(ipmi_msg *msg)
Definition: storage_handler.c:317
struct sel_event_record __attribute__((__packed__))
Definition: hal_i2c_target.h:28
uint8_t get_add_sel_target_interface()
Definition: storage_handler.c:29
Definition: ipmb.h:165
Definition: storage_handler.h:56
struct oem_sel_event_record oem_event
Definition: storage_handler.h:59
struct sel_event_record event
Definition: storage_handler.h:58
Definition: storage_handler.h:63
uint8_t record_id[2]
Definition: storage_handler.h:64
Definition: storage_handler.h:41
uint8_t rsv_3
Definition: storage_handler.h:49
uint8_t record_type
Definition: storage_handler.h:43
uint8_t failure_event_type
Definition: storage_handler.h:46
uint32_t timestamp
Definition: storage_handler.h:45
uint8_t rsv_4
Definition: storage_handler.h:53
uint8_t rsv_2
Definition: storage_handler.h:48
uint8_t pxe_http_fail_type
Definition: storage_handler.h:51
uint8_t pxe_http_error_code
Definition: storage_handler.h:52
uint8_t general_info
Definition: storage_handler.h:44
uint16_t record_id
Definition: storage_handler.h:42
uint8_t rsv_1
Definition: storage_handler.h:47
uint8_t failure_event_details
Definition: storage_handler.h:50
Definition: storage_handler.h:22
uint8_t event_data[3]
Definition: storage_handler.h:38
uint8_t event_dir
Definition: storage_handler.h:34
uint8_t sensor_num
Definition: storage_handler.h:29
uint8_t gen_id[2]
Definition: storage_handler.h:26
uint8_t record_type
Definition: storage_handler.h:24
uint8_t sensor_type
Definition: storage_handler.h:28
uint8_t evm_rev
Definition: storage_handler.h:27
uint32_t timestamp
Definition: storage_handler.h:25
uint8_t event_dir_type
Definition: storage_handler.h:36
uint8_t event_type
Definition: storage_handler.h:33
uint16_t record_id
Definition: storage_handler.h:23