The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/qat/qat_api/common/include/lac_list.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /* SPDX-License-Identifier: BSD-3-Clause */
    2 /* Copyright(c) 2007-2022 Intel Corporation */
    3 /* $FreeBSD$ */
    4 /**
    5  ***************************************************************************
    6  * @file lac_list.h
    7  *
    8  * @defgroup SalList
    9  *
   10  * @ingroup SalCtrl
   11  *
   12  * List structure and list functions.
   13  *
   14  ***************************************************************************/
   15 
   16 #ifndef LAC_LIST_H
   17 #define LAC_LIST_H
   18 
   19 /**
   20  *****************************************************************************
   21  * @ingroup SalList
   22  *
   23  * @description
   24  *      List structure
   25  *
   26  *****************************************************************************/
   27 typedef struct sal_list_s {
   28 
   29         struct sal_list_s *next;
   30         void *pObj;
   31 
   32 } sal_list_t;
   33 
   34 /**
   35 *******************************************************************************
   36  * @ingroup SalList
   37  *      Add a structure to tail of a list.
   38  *
   39  * @description
   40  *      Adds pObj to the tail of  list (if it exists). Allocates and sets a
   41  *      new sal_list_t structure.
   42  *
   43  * @param[in] list                      Pointer to the head pointer of the list.
   44  *                                      Can be NULL if no elements yet in list.
   45  * @param[in/out] tail                  Pointer to tail pointer of the list.
   46  *                                      Can be NULL if no elements yet in list.
   47  *                                      Is updated by the function to point to
   48 *tail
   49  *                                      of list if pObj has been successfully
   50 *added.
   51  * @param[in] pObj                      Pointer to structure to add to tail of
   52  *                                      the list.
   53  * @retval status
   54  *
   55  *****************************************************************************/
   56 CpaStatus SalList_add(sal_list_t **list, sal_list_t **tail, void *pObj);
   57 
   58 /**
   59 *******************************************************************************
   60  * @ingroup SalList
   61  *      Delete an element from the list.
   62  *
   63  * @description
   64  *      Delete an element from the list.
   65  *
   66  * @param[in/out] head_list             Pointer to the head pointer of the list.
   67  *                                      Can be NULL if no elements yet in list.
   68  *                                      Is updated by the function
   69  *                                      to point to list->next if head_list is
   70 *list.
   71  * @param[in/out] pre_list              Pointer to the previous pointer of the
   72 *list.
   73  *                                      Can be NULL if no elements yet in list.
   74  *                                      (*pre_list)->next is updated
   75  *                                      by the function to point to list->next
   76  * @param[in] list                      Pointer to list.
   77  *
   78  *****************************************************************************/
   79 void
   80 SalList_del(sal_list_t **head_list, sal_list_t **pre_list, sal_list_t *list);
   81 
   82 /**
   83 *******************************************************************************
   84  * @ingroup SalList
   85  *      Returns pObj element in list structure.
   86  *
   87  * @description
   88  *      Returns pObj associated with sal_list_t structure.
   89  *
   90  * @param[in] list                      Pointer to list element.
   91  * @retval void*                        pObj member of list structure.
   92  *
   93  *****************************************************************************/
   94 void *SalList_getObject(sal_list_t *list);
   95 
   96 /**
   97 *******************************************************************************
   98  * @ingroup SalList
   99  *      Set pObj to be NULL in the list.
  100  *
  101  * @description
  102  *      Set pObj of a element in the list to be NULL.
  103  *
  104  * @param[in] list                      Pointer to list element.
  105  *
  106  *****************************************************************************/
  107 void SalList_delObject(sal_list_t **list);
  108 
  109 /**
  110 *******************************************************************************
  111  * @ingroup SalList
  112  *      Returns next element in list structure.
  113  *
  114  * @description
  115  *      Returns next associated with sal_list_t structure.
  116  *
  117  * @param[in] list                      Pointer to list element.
  118  * @retval void*                        next member of list structure.
  119  *
  120  *****************************************************************************/
  121 void *SalList_next(sal_list_t *);
  122 
  123 /**
  124 *******************************************************************************
  125  * @ingroup SalList
  126  *      Frees memory associated with list structure.
  127  *
  128  * @description
  129  *      Frees memory associated with list structure and the Obj pointed to by
  130  *      the list.
  131  *
  132  * @param[in] list                      Pointer to list.
  133  *
  134  *****************************************************************************/
  135 void SalList_free(sal_list_t **);
  136 
  137 #endif

Cache object: 1cc304c46131bf2d750fe5acd894de2b


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.