2022-12-31 14:42:31 +00:00
|
|
|
|
/******************************************************************************
|
|
|
|
|
* @brief ͨ<EFBFBD>ö<EFBFBD><EFBFBD>й<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*
|
|
|
|
|
* Copyright (c) 2017~2020, <morro_luo@163.com>
|
|
|
|
|
*
|
|
|
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
*
|
|
|
|
|
* Change Logs:
|
|
|
|
|
* Date Author Notes
|
|
|
|
|
* 2017-03-19 roger.luo Initial version.
|
|
|
|
|
******************************************************************************/
|
|
|
|
|
#ifndef _QUEUE_H_
|
|
|
|
|
#define _QUEUE_H_
|
|
|
|
|
|
|
|
|
|
#include <stdbool.h>
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
extern "C" {
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
|
void *base; /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ*/
|
|
|
|
|
unsigned short element_size; /*<2A><><EFBFBD><EFBFBD>Ԫ<EFBFBD>ش<EFBFBD>С*/
|
|
|
|
|
unsigned short size; /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>*/
|
|
|
|
|
unsigned short front; /*<2A><><EFBFBD><EFBFBD>*/
|
|
|
|
|
unsigned short rear; /*<2A><>β*/
|
|
|
|
|
}queue_t;
|
|
|
|
|
|
|
|
|
|
bool queue_create(queue_t *q, void *container, int size, int element_size);
|
|
|
|
|
bool queue_peek (queue_t *q, void **element);
|
|
|
|
|
bool queue_put (queue_t *q, void *element);
|
|
|
|
|
bool queue_get (queue_t *q, void *element);
|
|
|
|
|
bool queue_del (queue_t *q);
|
|
|
|
|
void queue_clr (queue_t *q);
|
|
|
|
|
int queue_len (queue_t *q);
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#endif
|