46 lines
1.2 KiB
C
46 lines
1.2 KiB
C
/******************************************************************
|
|
* @file phy_msg_func.h
|
|
* @brief: [file description]
|
|
* @author: guicheng.liu
|
|
* @Date 2022年6月29日
|
|
* COPYRIGHT NOTICE: (c) smartlogictech. All rights reserved.
|
|
* Change_date Owner Change_content
|
|
* 2022年6月29日 guicheng.liu create file
|
|
|
|
*****************************************************************/
|
|
|
|
#ifndef FPHY_MSG_FUNC_H
|
|
#define FPHY_MSG_FUNC_H
|
|
#include <type_define.h>
|
|
|
|
#define MAX_RING_BUFFER_NUM 8
|
|
|
|
typedef struct
|
|
{
|
|
uint32_t el_ind;
|
|
uint32_t len;
|
|
char* buff;
|
|
}buffer_info_t;
|
|
|
|
typedef struct {
|
|
int num;
|
|
int head;
|
|
int tail;
|
|
buffer_info_t buffer[MAX_RING_BUFFER_NUM];
|
|
}msg_ring_buffer_t;
|
|
|
|
|
|
void msg_buffer_init();
|
|
bool msg_buffer_empty(uint32_t queue_num);
|
|
bool msg_buffer_full(msg_ring_buffer_t *ring_buffer);
|
|
void enque_msg_buffer(uint32_t queue_num,
|
|
uint32_t el_ind,
|
|
char* buf,
|
|
uint32_t len);
|
|
int deque_msg_buffer(uint32_t queue_num,
|
|
uint32_t* el_ind,
|
|
char** buf,
|
|
uint32_t* len);
|
|
|
|
#endif
|