/* * Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved. */ /* * The code contained herein is licensed under the GNU General Public * License. You may obtain a copy of the GNU General Public License * Version 2 or later at the following locations: * * http://www.opensource.org/licenses/gpl-license.html * http://www.gnu.org/copyleft/gpl.html */ /** * @file sah_queue_manager.h * * @brief This file definitions for the Queue Manager. * The Queue Manager manages additions and removal from the queue and updates * the status of queue entries. It also calls sah_HW_* functions to interact * with the hardware. * */ #ifndef SAH_QUEUE_MANAGER_H #define SAH_QUEUE_MANAGER_H #include #include /************************* * Queue Manager Functions *************************/ fsl_shw_return_t sah_Queue_Manager_Init(void); void sah_Queue_Manager_Close(void); void sah_Queue_Manager_Reset_Entries(void); void sah_Queue_Manager_Append_Entry(sah_Head_Desc *entry); void sah_Queue_Manager_Remove_Entry(sah_Head_Desc *entry); /************************* * Queue Functions *************************/ sah_Queue *sah_Queue_Construct(void); void sah_Queue_Destroy(sah_Queue *this); void sah_Queue_Append_Entry(sah_Queue *this, sah_Head_Desc *entry); void sah_Queue_Remove_Entry(sah_Queue *this); void sah_Queue_Remove_Any_Entry(sah_Queue *this, sah_Head_Desc *entry); void sah_postprocess_queue(unsigned long reset_flag); /************************* * Misc Releated Functions *************************/ int sah_blocking_mode(struct sah_Head_Desc *entry); fsl_shw_return_t sah_convert_error_status(uint32_t error_status); #endif /* SAH_QUEUE_MANAGER_H */ /* End of sah_queue_manager.h */