Mercurial > trustbridge
annotate cinst/nss-secitemlist.h @ 502:e551de11d8b6
Properly handle the case that the file does not exist.
TRUNCATE makes create file fail if the file does not exist
but we need TRUNCATE in the case that the file already exists
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Mon, 28 Apr 2014 09:18:07 +0000 |
parents | 48d7b956bd98 |
children | 78798d3af8f0 |
rev | line source |
---|---|
404 | 1 /* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik |
2 * Software engineering by Intevation GmbH | |
3 * | |
4 * This file is Free Software under the GNU GPL (v>=2) | |
5 * and comes with ABSOLUTELY NO WARRANTY! | |
6 * See LICENSE.txt for details. | |
7 */ | |
242
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
8 #ifndef NSS_SECITEMLIST_H |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
9 #define NSS_SECITEMLIST_H |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
10 |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
11 /** |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
12 * @file |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
13 * @brief Functions to handle lists of NSS SECItem-s. |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
14 */ |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
15 |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
16 #include <seccomon.h> |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
17 #include "strhelp.h" |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
18 |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
19 struct seciteml { |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
20 SECItem *item; |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
21 struct seciteml *next; |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
22 }; |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
23 |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
24 /** |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
25 * @brief Type for SECItem lists |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
26 */ |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
27 typedef struct seciteml seciteml_t; |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
28 |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
29 /** |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
30 * @brief Prepend a new SECItem to list |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
31 * |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
32 * The data will be copied. |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
33 * @param[inout] list pointer to the list to which the item will be added. |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
34 * @param[in] item the SECItem to add to the list. |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
35 */ |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
36 void seciteml_push (seciteml_t **list, SECItem *item); |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
37 |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
38 /** |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
39 * @brief Remove and return first SECItem from list |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
40 * |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
41 * @param[inout] list pointer to the list to which the item will be added. |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
42 * @retruns the removed item, or NULL if list is empty. |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
43 * The caller shoud free this item after use. |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
44 */ |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
45 SECItem *seciteml_pop (seciteml_t **list); |
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
46 |
493
48d7b956bd98
Change loop order of installation to only call NSS_Initialize once per db
Andre Heinecke <aheinecke@intevation.de>
parents:
404
diff
changeset
|
47 /** |
48d7b956bd98
Change loop order of installation to only call NSS_Initialize once per db
Andre Heinecke <aheinecke@intevation.de>
parents:
404
diff
changeset
|
48 * @brief Free a secitem list |
48d7b956bd98
Change loop order of installation to only call NSS_Initialize once per db
Andre Heinecke <aheinecke@intevation.de>
parents:
404
diff
changeset
|
49 * |
48d7b956bd98
Change loop order of installation to only call NSS_Initialize once per db
Andre Heinecke <aheinecke@intevation.de>
parents:
404
diff
changeset
|
50 * Frees a secitem list |
48d7b956bd98
Change loop order of installation to only call NSS_Initialize once per db
Andre Heinecke <aheinecke@intevation.de>
parents:
404
diff
changeset
|
51 * |
48d7b956bd98
Change loop order of installation to only call NSS_Initialize once per db
Andre Heinecke <aheinecke@intevation.de>
parents:
404
diff
changeset
|
52 * @param[inout] list pointer to the list which should be freed. set to NULL |
48d7b956bd98
Change loop order of installation to only call NSS_Initialize once per db
Andre Heinecke <aheinecke@intevation.de>
parents:
404
diff
changeset
|
53 */ |
48d7b956bd98
Change loop order of installation to only call NSS_Initialize once per db
Andre Heinecke <aheinecke@intevation.de>
parents:
404
diff
changeset
|
54 void seciteml_free (seciteml_t **list); |
48d7b956bd98
Change loop order of installation to only call NSS_Initialize once per db
Andre Heinecke <aheinecke@intevation.de>
parents:
404
diff
changeset
|
55 |
48d7b956bd98
Change loop order of installation to only call NSS_Initialize once per db
Andre Heinecke <aheinecke@intevation.de>
parents:
404
diff
changeset
|
56 |
242
809eaca3898c
Added helper functions to handle lists of NSS SECItems.
Sascha Wilde <wilde@intevation.de>
parents:
diff
changeset
|
57 #endif |