123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- /*
- * Copyright 2016, yichip Semiconductor(shenzhen office)
- * All Rights Reserved.
- *
- * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Yichip Semiconductor;
- * the contents of this file may not be disclosed to third parties, copied
- * or duplicated in any form, in whole or in part, without the prior
- * written permission of Yichip Semiconductor.
- */
-
- /**
- *@file yc_queue.h
- *@brief USB support for application.
- */
- #ifndef DRIVERS_KEYSCAN_YC_QUEUE_H_
- #define DRIVERS_KEYSCAN_YC_QUEUE_H_
- #include <stdint.h>
- #include <stdbool.h>
- /**
- *@brief Queue header.
- */
- typedef struct
- {
- void *pHead; /*!< Header pointer*/
- void *pWrite; /*!< Writing queue pointer*/
- void *pRead; /*!< Reading queue pointer*/
- uint8_t unit_Len; /*!< size of element */
- uint8_t array_Len; /*!< the length of array */
- uint8_t current_queue_len;/*!< Entire queue length */
- }QUEUE_HEADER;
- /**
- *@brief Queue initialization.
- *@param pQheader point queue header structure.@ref QUEUE_HEADER
- *@param pMem empty pointer.
- *@param unitLen unit length.
- *@param len array length.
- *@retval true initializing success.
- *@retval false initializing failure.
- */
- bool queue_init(QUEUE_HEADER *pQheader, void *pMem, uint8_t unitLen, uint8_t len);
- /**
- *@brief Insert queue.
- *@param pQheader inserted queue pointer.@ref QUEUE_HEADER
- *@param pEle inserted element pointer.
- *@retval True operating success.
- *@retval false operating failure.
- */
- bool Insert_Queue(QUEUE_HEADER *pQheader,void *pEle);
- /**
- *@brief Delete queue.
- *@param pQheader will be delete element.@ref QUEUE_HEADER
- *@return Empty pointer.
- */
- void * Delete_Queue(QUEUE_HEADER *pQheader);
- /**
- *@brief Check queue is empty.
- *@param pQheader The target queue.@ref QUEUE_HEADER
- *@retval True the queue is empty.
- *@retval false the queue is not empty.
- */
- bool queue_is_empty(QUEUE_HEADER *pQheader);
- /**
- *@brief Getting queue current length.
- *@param pQheader The target queue.@ref QUEUE_HEADER
- *@return The queue length.
- */
- uint8_t queue_ele_count(QUEUE_HEADER *pQheader);
- /**
- *@brief Check queue is full.
- *@param pQheader The target queue.@ref QUEUE_HEADER
- *@retval True queue is full.
- *@retval false queue is not full.
- */
- bool queue_is_full(QUEUE_HEADER *pQheader);
- /**
- *@brief Clear queue.
- *@param pQheader The target queue.@ref QUEUE_HEADER
- *@retval True represent clear success.
- *@retval false represent clear failure.
- */
- bool queue_clear(QUEUE_HEADER *pQheader);
- #endif /* DRIVERS_KEYSCAN_YC_QUEUE_H_ */
|