linux/drivers/mxc/security/sahara2/sah_queue.c File Reference

This file provides a FIFO Queue implementation. More...

Functions

sah_Queuesah_Queue_Construct (void)
void sah_Queue_Destroy (sah_Queue *q)
void sah_Queue_Append_Entry (sah_Queue *q, sah_Head_Desc *entry)
void sah_Queue_Remove_Entry (sah_Queue *q)
void sah_Queue_Remove_Any_Entry (sah_Queue *q, sah_Head_Desc *entry)

Detailed Description

This file provides a FIFO Queue implementation.


Function Documentation

void sah_Queue_Append_Entry ( sah_Queue q,
sah_Head_Desc entry 
)

Appends a sah_Head_Desc to a sah_Queue.

This function appends a sah_Head_Desc to the tail of a sah_Queue.

Parameters:
q A pointer to a sah_Queue to append to.
entry A pointer to a sah_Head_Desc to append.
Precondition:
The desc_queue_lock must be held before calling this function.
Returns:
void

References sah_Queue::count, sah_Queue::head, sah_Head_Desc::next, sah_Head_Desc::prev, and sah_Queue::tail.

Referenced by sah_process_finished_request(), and sah_Queue_Manager_Append_Entry().

sah_Queue* sah_Queue_Construct ( void   ) 

sah_Queue Constructor

This function constructs a new sah_Queue.

Returns:
A pointer to a newly allocated sah_Queue.
NULL if allocation of memory failed.

References sah_Queue::count, sah_Queue::head, os_alloc_memory, and sah_Queue::tail.

Referenced by sah_Queue_Manager_Init().

void sah_Queue_Destroy ( sah_Queue q  ) 

sah_Queue Destructor

This function destroys a sah_Queue.

Parameters:
q A pointer to a sah_Queue.
Returns:
void

References sah_Queue::count, and os_free_memory.

Referenced by sah_Queue_Manager_Close().

void sah_Queue_Remove_Any_Entry ( sah_Queue q,
sah_Head_Desc entry 
)

Removes a sah_Head_Desc from anywhere in a sah_Queue.

This function a removes a sah_Head_Desc from anywhere in a sah_Queue.

Parameters:
qq A pointer to a sah_Queue to remove from.
entry A pointer to a sah_Head_Desc to remove.
Precondition:
The desc_queue_lock must be held before calling this function.
Returns:
void

References sah_Queue::count, sah_Queue::head, sah_Head_Desc::next, sah_Head_Desc::prev, and sah_Queue::tail.

Referenced by sah_blocking_mode(), sah_Queue_Manager_Remove_Entry(), and sah_Queue_Remove_Entry().

void sah_Queue_Remove_Entry ( sah_Queue q  ) 

Removes a sah_Head_Desc from a the head of a sah_Queue.

This function a removes a sah_Head_Desc from the head of a sah_Queue.

Parameters:
q A pointer to a sah_Queue to remove from.
Precondition:
The desc_queue_lock must be held before calling this function.
Returns:
void

References sah_Queue::head, and sah_Queue_Remove_Any_Entry().

Referenced by sah_get_results_from_pool(), and sah_postprocess_queue().

footer
©  Freescale Semiconductor, Inc., 2007.  All rights reserved.
Freescale Confidential Proprietary
NDA Required
doxygen