view cinst/nss-secitemlist.h @ 1264:3cd8dd706aaa

Add possibility to build with CLANG and document it. This only works for now with the c parts of the code.
author Andre Heinecke <andre.heinecke@intevation.de>
date Fri, 26 Sep 2014 17:59:49 +0200
parents 2a1aa9df8f11
children 82fab0c689bf
line wrap: on
line source
/* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik
 * Software engineering by Intevation GmbH
 *
 * This file is Free Software under the GNU GPL (v>=2)
 * and comes with ABSOLUTELY NO WARRANTY!
 * See LICENSE.txt for details.
 */
#ifndef NSS_SECITEMLIST_H
#define NSS_SECITEMLIST_H

/**
 * @file
 * @brief Functions to handle lists of NSS SECItem-s.
 */

#include <seccomon.h>
#include "strhelp.h"

/**
 * @struct seciteml
 * @brief simple linked list sturcture. */
struct seciteml {
  /*@{*/
  SECItem *item;/**< Pointer to the held item*/
  struct seciteml *next;/**< Pointer to the next part of the list*/
  /*@}*/
};

/**
 * @brief Type for SECItem lists
 */
typedef struct seciteml seciteml_t;

/**
 * @brief Prepend a new SECItem to list
 *
 * The data will be copied.
 * @param[inout] list pointer to the list to which the item will be added.
 * @param[in] item the SECItem to add to the list.
 */
void seciteml_push (seciteml_t **list, SECItem *item);

/**
 * @brief Remove and return first SECItem from list
 *
 * @param[inout] list pointer to the list to which the item will be added.
 * @returns the removed item, or NULL if list is empty.
 * The caller shoud free this item after use.
 */
SECItem *seciteml_pop (seciteml_t **list);

/**
 * @brief Free a secitem list
 *
 * Frees a secitem list
 *
 * @param[inout] list pointer to the list which should be freed. set to NULL
 */
void seciteml_free (seciteml_t **list);


#endif

http://wald.intevation.org/projects/trustbridge/