view cinst/nss-secitemlist.h @ 655:1bb40cbb1e39 trustbridge-refactor

Merged into default
author Andre Heinecke <andre.heinecke@intevation.de>
date Wed, 25 Jun 2014 15:21:18 +0200
parents 48d7b956bd98
children 78798d3af8f0
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 {
  SECItem *item;
  struct seciteml *next;
};

/**
 * @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.
 * @retruns 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/