42#ifndef SOFTWARE_INCLUDE_ENSO_INTERNALS_H_
43#define SOFTWARE_INCLUDE_ENSO_INTERNALS_H_
51#if MAX_NB_FLOWS < 65536
52using enso_pipe_id_t = uint16_t;
54using enso_pipe_id_t = uint32_t;
69struct __attribute__((__packed__)) RxNotification {
76struct __attribute__((__packed__)) TxNotification {
85 struct RxNotification* rx_buf;
86 enso_pipe_id_t* next_rx_pipe_ids;
87 struct TxNotification* tx_buf;
88 uint32_t* rx_head_ptr;
89 uint32_t* tx_tail_ptr;
93 uint16_t next_rx_ids_head;
94 uint16_t next_rx_ids_tail;
95 uint32_t nb_unreported_completions;
100 uint64_t tx_full_cnt;
103 uint8_t* wrap_tracker;
104 uint32_t* pending_rx_pipe_tails;
107 void* uio_mmap_bar2_addr;
108 std::string huge_page_prefix;
113 uint64_t buf_phys_addr;
115 uint32_t* buf_head_ptr;
118 uint64_t phys_buf_offset;
120 std::string huge_page_prefix;