updated Doxyfile
[strongswan.git] / src / libstrongswan / plugins / x509 / ietf_attr_list.h
1 /*
2 * Copyright (C) 2007 Andreas Steffen
3 *
4 * Hochschule fuer Technik Rapperswil
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation; either version 2 of the License, or (at your
9 * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
10 *
11 * This program is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * for more details.
15 *
16 * $Id$
17 */
18
19 /**
20 * @defgroup ietf_attr_list ietf_attr_list
21 * @{ @ingroup x509_p
22 */
23
24 #ifndef IETF_ATTR_LIST_H_
25 #define IETF_ATTR_LIST_H_
26
27 #include <library.h>
28 #include <utils/linked_list.h>
29
30
31 /**
32 * @brief Compare two linked lists of ietfAttr_t objects for equality
33 *
34 * @param list_a first alphabetically-sorted list
35 * @param list_b second alphabetically-sorted list
36 * @return TRUE if equal
37 */
38 bool ietfAttr_list_equals(linked_list_t *list_a, linked_list_t *list_b);
39
40 /**
41 * @brief Lists a linked list of ietfAttr_t objects
42 *
43 * @param list alphabetically-sorted linked list of attributes
44 * @param out output file
45 */
46 void ietfAttr_list_list(linked_list_t *list, FILE *out);
47
48 /**
49 * @brief Create a linked list of ietfAttr_t objects from a string
50 *
51 * @param msg string with comma-separated group names
52 * @param list alphabetically-sorted linked list of attributes
53 */
54 void ietfAttr_list_create_from_string(char *msg, linked_list_t *list);
55
56 /**
57 * @brief Create a linked list of ietfAttr_t objects from an ASN.1-coded chunk
58 *
59 * @param chunk chunk containing ASN.1-coded attributes
60 * @param list alphabetically-sorted linked list of attributes
61 * @param level0 parsing level
62 */
63 void ietfAttr_list_create_from_chunk(chunk_t chunk, linked_list_t *list, int level0);
64
65 /**
66 * @brief Encode a linked list of ietfAttr_t objects into an ASN.1-coded chunk
67 *
68 * @param list alphabetically-sorted linked list of attributes
69 * @return chunk containing ASN.1-coded attributes
70 */
71 chunk_t ietfAttr_list_encode(linked_list_t *list);
72
73 /**
74 * @brief Destroys a linked list of ietfAttr_t objects
75 *
76 * @param list list to be destroyed
77 */
78 void ietfAttr_list_destroy(linked_list_t *list);
79
80 #endif /** IETF_ATTR_LIST_H_ @}*/
81