1 /*
2  * ESG parser
3  *
4  * Copyright (C) 2006 Stephane Este-Gracias (sestegra@free.fr)
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
19  */
20 
21 #ifndef _ESG_ENCAPSULATION_AUXILIARY_DATA_H
22 #define _ESG_ENCAPSULATION_AUXILIARY_DATA_H 1
23 
24 #ifdef __cplusplus
25 extern "C"
26 {
27 #endif
28 
29 #include <stdint.h>
30 
31 /**
32  * esg_any_attribute structure.
33  */
34 struct esg_any_attribute {
35 	uint8_t version_id;
36 	uint8_t *extension;
37 
38 	struct esg_any_attribure *_next;
39 };
40 
41 /**
42  * esg_binary_header structure.
43  */
44 struct esg_binary_header {
45 	uint16_t encoding_metadatauri_mimetype;
46 	struct esg_any_attribute *any_attribute_list;
47 };
48 
49 /**
50  * esg_encapsulated_aux_data struct.
51  */
52 struct esg_encapsulated_aux_data {
53 	struct esg_binary_header *binary_header;
54 	uint32_t aux_data_length;
55 	uint8_t aux_data;
56 };
57 
58 #ifdef __cplusplus
59 }
60 #endif
61 
62 #endif
63