#include <dsplink.h>
#include <mplistdefs.h>
Go to the source code of this file.
Functions | |
Int | MPLIST_create (IN Uint16 procId, IN Char *name, IN MPLIST_List *mplistObj, IN MPLIST_Attrs *attrs) |
Allocates and initializes a doubly linked circular list in shared memory. The memory for the object may or may not be provided by the user. Uses POOl api to allocate a list object. The list object contains a MPCS object and a single element and initializes that element to indicate that it is the "end of the list" (i.e., the list is empty). An entry is added in the shared memory control structure for the list. | |
Int | MPLIST_delete (IN Uint16 procId, IN Char *name) |
Removes a list by freeing its control structure's memory space. Must ONLY be used for empty lists, because it does not walk the chain of list elements. Calling this function on a non-empty list will cause a memory leak. | |
Int | MPLIST_open (IN Uint16 procId, IN Char *name, OUT MPLIST_Handle *mplistHandle) |
This function opens an MPLIST object specified by its name and gets a handle to the object. Every process that needs to use the MPLIST object must get a handle to the object by calling this API. | |
Int | MPLIST_close (IN MPLIST_Handle mplistHandle) |
This function closes an MPLIST instance. | |
Bool | MPLIST_isEmpty (IN MPLIST_Handle mplistHandle) |
Check for an empty list. | |
Int | MPLIST_insertBefore (IN MPLIST_Handle mplistHandle, IN MPLIST_Elem insertElement, IN MPLIST_Elem existingElement) |
Inserts the element before the existing element. | |
Int | MPLIST_putTail (IN MPLIST_Handle mplistHandle, IN MPLIST_Elem element) |
Adds the specified element to the tail of the list. | |
Int | MPLIST_removeElement (IN MPLIST_Handle mplistHandle, IN MPLIST_Elem element) |
Removes (unlinks) the given element from the list, if the list is not empty. Does not free the list element. | |
Int | MPLIST_first (IN MPLIST_Handle mplistHandle, OUT MPLIST_Elem *element) |
Returns a pointer to the first element of the list, or NULL if the list is empty. | |
Int | MPLIST_getHead (IN MPLIST_Handle mplistHandle, OUT MPLIST_Elem *element) |
Pops the head off the list and returns a pointer to it. If the list is empty, returns NULL. | |
Int | MPLIST_next (IN MPLIST_Handle mplistHandle, IN MPLIST_Elem currentElement, OUT MPLIST_Elem *nextElement) |
Returns a pointer to the next element of the list, or NULL if the next element is the head of the list or the list is empty. |
Int MPLIST_create | ( | IN Uint16 | procId, |
IN Char * | name, | ||
IN MPLIST_List * | mplistObj, | ||
IN MPLIST_Attrs * | attrs | ||
) |
Allocates and initializes a doubly linked circular list in shared memory. The memory for the object may or may not be provided by the user. Uses POOl api to allocate a list object. The list object contains a MPCS object and a single element and initializes that element to indicate that it is the "end of the list" (i.e., the list is empty). An entry is added in the shared memory control structure for the list.
============================================================================
procId | Processor id of the processor making this create call. |
name | Name of the list to be created. |
mpcsObj | Pointer to the shared MPLIST object. If memory for the MPLIST object is provided by the user, the MPLIST object handle is not NULL. Otherwise, if the memory is to be allocated by the MPLIST component, the MPLIST object handle can be specified as NULL. |
attrs | Attributes of the list to be created. |
Removes a list by freeing its control structure's memory space. Must ONLY be used for empty lists, because it does not walk the chain of list elements. Calling this function on a non-empty list will cause a memory leak.
============================================================================
procId | Processor id of the processor making this delete call. |
name | Name of the list to be deleted. |
Int MPLIST_open | ( | IN Uint16 | procId, |
IN Char * | name, | ||
OUT MPLIST_Handle * | mplistHandle | ||
) |
This function opens an MPLIST object specified by its name and gets a handle to the object. Every process that needs to use the MPLIST object must get a handle to the object by calling this API.
============================================================================
procId | Processor id of the processor making this open call. |
name | Name of the list to be opened. |
mplistHandle | Handle of list which has to be opened. |
Int MPLIST_close | ( | IN MPLIST_Handle | mplistHandle ) |
This function closes an MPLIST instance.
============================================================================
mplistHandle | Handle for list operations. |
Bool MPLIST_isEmpty | ( | IN MPLIST_Handle | mplistHandle ) |
Check for an empty list.
============================================================================
mplistHandle | List handle for list operations. |
Int MPLIST_insertBefore | ( | IN MPLIST_Handle | mplistHandle, |
IN MPLIST_Elem | insertElement, | ||
IN MPLIST_Elem | existingElement | ||
) |
Inserts the element before the existing element.
============================================================================
mplistHandle | List handle for list operations. |
insertElement | Pointer to element in list to insert. |
existingElement | Pointer to existing list element. |
Int MPLIST_putTail | ( | IN MPLIST_Handle | mplistHandle, |
IN MPLIST_Elem | element | ||
) |
Adds the specified element to the tail of the list.
============================================================================
mplistHandle | List handle for list operations. |
element | Pointer to list element to be added. |
Int MPLIST_removeElement | ( | IN MPLIST_Handle | mplistHandle, |
IN MPLIST_Elem | element | ||
) |
Removes (unlinks) the given element from the list, if the list is not empty. Does not free the list element.
============================================================================
mplistHandle | List handle for list operations. |
element | Pointer to element in list to remove. |
Int MPLIST_first | ( | IN MPLIST_Handle | mplistHandle, |
OUT MPLIST_Elem * | element | ||
) |
Returns a pointer to the first element of the list, or NULL if the list is empty.
============================================================================
mplistHandle | List handle for list operations. |
element | parameter for holding the first element. |
Int MPLIST_getHead | ( | IN MPLIST_Handle | mplistHandle, |
OUT MPLIST_Elem * | element | ||
) |
Pops the head off the list and returns a pointer to it. If the list is empty, returns NULL.
============================================================================
mplistHandle | List handle for list operations. |
headElement | Parameter to hold the head element. |
Int MPLIST_next | ( | IN MPLIST_Handle | mplistHandle, |
IN MPLIST_Elem | currentElement, | ||
OUT MPLIST_Elem * | nextElement | ||
) |
Returns a pointer to the next element of the list, or NULL if the next element is the head of the list or the list is empty.
============================================================================
mplistHandle | List handle for list operations. |
currentElement | Pointer to element in list to remove. |
nextElement | Pointer to next element. |