IceCube display
LED display to show IceCube event data
All Data Structures Files Functions Variables Enumerations Enumerator Macros Modules Pages
tlv_list.h
Go to the documentation of this file.
1 #ifndef UTIL_TLV_LIST_H
2 #define UTIL_TLV_LIST_H
3 
9 #include "memspace.h"
10 #include <stdint.h>
11 
18 struct dp_tlv_item_t {
19  uint8_t type;
20  uint8_t length;
22  const void* data;
23 };
24 
27 #define TLV_TYPE_END 0xFF
28 
31 uint16_t get_tlv_list_length_P(const struct dp_tlv_item_t* tlv_data);
32 
34 #define TLV_ENTRY(type, memspace, address) {type, sizeof(*address), memspace, address}
35 
37 #define TLV_END {TLV_TYPE_END, 0, MEMSPACE_NONE, 0}
38 
39 #endif // UTIL_TLV_LIST_H
const void * data
Pointer to the memory block contain the TLV data.
Definition: tlv_list.h:22
Non-uniform memory access.
uint8_t length
Length of this field&#39;s data not including the two type and length bytes.
Definition: tlv_list.h:20
memspace_t
Define which memory space the body of a data block is in.
Definition: memspace.h:15
Item in a TLV list.
Definition: tlv_list.h:18
uint8_t type
Type of display data.
Definition: tlv_list.h:19
enum memspace_t memspace
Memory region the TLV data resides in.
Definition: tlv_list.h:21
uint16_t get_tlv_list_length_P(const struct dp_tlv_item_t *tlv_data)