MHEG  17.9.0
 All Data Structures Files Functions Variables Typedefs Enumerations Macros Pages
fpa1_syn.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
3  * Copyright © 2004 Ocean Blue Software Ltd
4  * Copyright © 2000 Koninklijke Philips Electronics N.V
5  *
6  * This file is part of a DTVKit Software Component
7  * You are permitted to copy, modify or distribute this file subject to the terms
8  * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org
9  *
10  * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
11  * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
12  * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
13  *
14  * If you or your organisation is not a member of DTVKit then you have access
15  * to this source code outside of the terms of the licence agreement
16  * and you are expected to delete this and any associated files immediately.
17  * Further information on DTVKit, membership and terms can be found at www.dtvkit.org
18  *******************************************************************************/
26 #ifndef _FPA1_SYN_H
27 #define _FPA1_SYN_H
28 
29 /*---includes for this file--------------------------------------------------*/
30 #include "vpa1_sys.h"
31 #include "mh5base.h"
32 
33 /*---Constant and macro definitions for public use---------------------------*/
34 #define SYN_NEEDED 0
35 #define SYN_OPTIONAL 1
36 #define SYN_DEFAULT 2
37 
38 /*---Enumerations for public use---------------------------------------------*/
39 
40 /*---Global type defs for public use-----------------------------------------*/
41 
43 {
44  MHEG5Bool boolData;
45  MHEG5Int intData;
46  MHEG5String stringData;
47 };
48 typedef union synItemData syntaxItemData;
49 
51 {
52  struct fpa1_syntaxItem *next;
53  struct fpa1_syntaxItem *children;
54  int tag;
55  vpa1_filePos tagPosition;
56  vpa1_filePos nextTagPosition;
57  syntaxItemData data;
58  int dataType; /* 0=none, 1=Bool, 2=Int, 4=String */
59  unsigned short childCount[3];
60  unsigned short dataTotal;
61 };
62 
63 typedef struct fpa1_syntaxItem fpa1_syntaxList;
64 
65 /*---Global variable declarations for public use-----------------------------*/
66 
67 /*---Global Function prototypes for public use-------------------------------*/
68 fpa1_syntaxList *fpa1_synGetAllTags( vpa1_filePos );
70  fpa1_syntaxList * );
72  fpa1_syntaxList * );
74  vpa1_filePos,
75  vpa1_filePos );
79  vpa1_filePos,
80  fpa1_syntaxList * );
81 fpa1_syntaxList* fpa1_synRemoveItemFromList( fpa1_syntaxList *,
82  fpa1_syntaxList * );
83 
84 #endif /*_FPA1_SYN_H*/
Basis MHEG5 data types.
void fpa1_synFreeList(fpa1_syntaxList *)
Definition: fpa1_syn.c:232
fpa1_syntaxList * fpa1_synCreateListItem(int, vpa1_filePos, vpa1_filePos)
Definition: fpa1_syn.c:161
fpa1_syntaxList * fpa1_synFreeFirstItem(fpa1_syntaxList *)
Definition: fpa1_syn.c:198
fpa1_syntaxList * fpa1_synAddItemToList(fpa1_syntaxList *, fpa1_syntaxList *)
Definition: fpa1_syn.c:134
fpa1_syntaxList * fpa1_synGetAllTags(vpa1_filePos)
Definition: fpa1_syn.c:56
fpa1_syntaxList * fpa1_synAddItemToStartOfList(fpa1_syntaxList *, fpa1_syntaxList *)
Definition: fpa1_syn.c:101
Definition: mh5base.h:82
Typedefs, macros used by all of parser. These may be duplicated elsewhere.
Definition: fpa1_syn.h:50
Definition: fpa1_syn.h:42
fpa1_syntaxList * fpa1_synGetUnknowns(vpa1_filePos, vpa1_filePos, fpa1_syntaxList *)
Definition: fpa1_syn.c:245