|  | 
| 
 Data Structures | 
| struct | CMML_UTC | 
| struct | CMML_Time | 
| struct | _CMML_List | 
| struct | CMML_Preamble | 
| struct | CMML_ParamElement | 
| struct | CMML_ImportElement | 
| struct | CMML_Stream | 
| struct | CMML_MetaElement | 
| struct | CMML_Head | 
| struct | CMML_Clip | 
| struct | CMML_Element | 
| struct | CMML_Error | 
| 
 Typedefs | 
| typedef void | CMML | 
| typedef enum _CMML_Time_Type | CMML_Time_Type | 
| typedef _CMML_List | CMML_List | 
| typedef void *(* | CMML_CloneFunc )(void *data) | 
| typedef void *(* | CMML_FreeFunc )(void *data) | 
| typedef int(* | CMML_CmpFunc )(void *cmp_ctx, void *s1, void *s2) | 
| typedef enum _CMML_Element_Type | CMML_Element_Type | 
| typedef enum _CMML_Error_Type | CMML_Error_Type | 
| typedef int(* | CMMLReadStream )(CMML *cmml, const CMML_Stream *stream, void *user_data) | 
| typedef int(* | CMMLReadHead )(CMML *cmml, const CMML_Head *head, void *user_data) | 
| typedef int(* | CMMLReadClip )(CMML *cmml, const CMML_Clip *clip, void *user_data) | 
| 
 Enumerations | 
| enum | _CMML_Time_Type { CMML_SEC_TIME, 
CMML_UTC_TIME
 } | 
| enum | _CMML_Element_Type { CMML_NONE, 
CMML_CMML, 
CMML_STREAM, 
CMML_IMPORT,
 CMML_HEAD, 
CMML_CLIP
 }
 | 
| enum | _CMML_Error_Type { CMML_OK, 
CMML_EOF, 
CMML_READ_ERROR, 
CMML_TIME_ERROR,
 CMML_MALLOC_ERROR, 
CMML_EXPAT_ERROR, 
CMML_PARSE_ERROR, 
CMML_NO_CMML_TAG,
 CMML_NO_HEAD_TAG, 
CMML_STREAM_NOT_FIRST, 
CMML_HEAD_AFTER_CLIP, 
CMML_DUPLICATE_STREAM,
 CMML_DUPLICATE_HEAD, 
CMML_FORMAT_ERROR, 
CMML_UNKNOWN_TAG, 
CMML_TAG_IGNORED,
 CMML_XMLNS_REDEFINED, 
CMML_NONSEQUENTIAL_CLIP
 }
 | 
| 
 Functions | 
| CMML * | cmml_open (char *XMLfilename) | 
| CMML * | cmml_new (FILE *file) | 
| FILE * | cmml_destroy (CMML *cmml) | 
| CMML * | cmml_close (CMML *cmml) | 
| int | cmml_set_read_callbacks (CMML *cmml, CMMLReadStream read_stream, CMMLReadHead read_head, CMMLReadClip read_clip, void *user_data) | 
| long | cmml_read (CMML *cmml, long n) | 
| void | cmml_set_sloppy (CMML *cmml, int value) | 
| CMML_Preamble * | cmml_get_preamble (CMML *cmml) | 
| CMML_Stream * | cmml_get_last_stream (CMML *cmml) | 
| CMML_Head * | cmml_get_last_head (CMML *cmml) | 
| CMML_Clip * | cmml_get_last_clip (CMML *cmml) | 
| CMML_Clip * | cmml_get_previous_clip (CMML *cmml) | 
| CMML_Error * | cmml_get_last_error (CMML *cmml) | 
| void | cmml_error_clear (CMML *cmml) | 
| int | cmml_set_window (CMML *cmml, CMML_Time *start, CMML_Time *end) | 
| double | cmml_skip_to_secs (CMML *cmml, double seconds) | 
| double | cmml_skip_to_utc (CMML *cmml, const char *utc) | 
| double | cmml_skip_to_id (CMML *cmml, const char *id) | 
| double | cmml_skip_to_offset (CMML *cmml, const char *offset) | 
| CMML_Preamble * | cmml_preamble_new (char *encoding, char *id, char *lang, char *dir) | 
| CMML_Element * | cmml_element_new (CMML_Element_Type type) | 
| CMML_Stream * | cmml_stream_new (void) | 
| CMML_Head * | cmml_head_new (void) | 
| CMML_Clip * | cmml_clip_new (CMML_Time *start_time, CMML_Time *end_time) | 
| CMML_Error * | cmml_error_new (CMML_Error_Type type) | 
| CMML_Preamble * | cmml_preamble_clone (CMML_Preamble *src) | 
| CMML_Element * | cmml_element_clone (CMML_Element *src) | 
| CMML_Stream * | cmml_stream_clone (CMML_Stream *src) | 
| CMML_Head * | cmml_head_clone (CMML_Head *src) | 
| CMML_Clip * | cmml_clip_clone (CMML_Clip *src) | 
| void | cmml_preamble_destroy (CMML_Preamble *preamble) | 
| void | cmml_element_destroy (CMML_Element *element) | 
| void | cmml_stream_destroy (CMML_Stream *stream) | 
| void | cmml_head_destroy (CMML_Head *head) | 
| void | cmml_clip_destroy (CMML_Clip *clip) | 
| void | cmml_error_destroy (CMML_Error *error) | 
| int | cmml_preamble_snprint (char *buf, int n, CMML_Preamble *pre) | 
| int | cmml_element_snprint (char *buf, int n, CMML_Element *elem) | 
| int | cmml_stream_snprint (char *buf, int n, CMML_Stream *stream) | 
| int | cmml_stream_pretty_snprint (char *buf, int n, CMML_Stream *stream) | 
| int | cmml_head_snprint (char *buf, int n, CMML_Head *head) | 
| int | cmml_head_pretty_snprint (char *buf, int n, CMML_Head *head) | 
| int | cmml_clip_snprint (char *buf, int n, CMML_Clip *clip) | 
| int | cmml_clip_pretty_snprint (char *buf, int n, CMML_Clip *clip) | 
| int | cmml_error_snprint (char *buf, int n, CMML_Error *error, CMML *cmml) | 
| CMML_List * | cmml_list_new (void) | 
| CMML_List * | cmml_list_clone (CMML_List *list) | 
| CMML_List * | cmml_list_clone_with (CMML_List *list, CMML_CloneFunc clone) | 
| CMML_List * | cmml_list_tail (CMML_List *list) | 
| CMML_List * | cmml_list_prepend (CMML_List *list, void *data) | 
| CMML_List * | cmml_list_append (CMML_List *list, void *data) | 
| CMML_List * | cmml_list_add_before (CMML_List *list, void *data, CMML_List *node) | 
| CMML_List * | cmml_list_add_after (CMML_List *list, void *data, CMML_List *node) | 
| CMML_List * | cmml_list_find (CMML_List *list, void *data) | 
| CMML_List * | cmml_list_remove (CMML_List *list, CMML_List *node) | 
| int | cmml_list_length (CMML_List *list) | 
| int | cmml_list_is_empty (CMML_List *list) | 
| int | cmml_list_is_singleton (CMML_List *list) | 
| CMML_List * | cmml_list_free_with (CMML_List *list, CMML_FreeFunc free_func) | 
| CMML_List * | cmml_list_free (CMML_List *list) | 
| CMML_Time * | cmml_time_new (const char *s) | 
| CMML_Time * | cmml_sec_new (const char *s) | 
| CMML_Time * | cmml_utc_new (const char *s) | 
| int | cmml_time_interval_new (const char *s, CMML_Time **t_start, CMML_Time **t_end) | 
| CMML_Time * | cmml_time_new_in_sec (const char *s, CMML_Time *ref, double base) | 
| CMML_Time * | cmml_time_utc_to_sec (CMML_Time *t, CMML_Time *ref, double base) | 
| void | cmml_time_free (CMML_Time *t) | 
| CMML_Time * | cmml_time_clone (CMML_Time *t) | 
| double | cmml_sec_parse (const char *s) | 
| CMML_UTC * | cmml_utc_parse (const char *s) | 
| CMML_UTC * | cmml_utc_clone (CMML_UTC *t) | 
| double | cmml_utc_diff (CMML_UTC *t2, CMML_UTC *t1) | 
| int | cmml_npt_snprint (char *buf, int n, double seconds) | 
| int | cmml_utc_snprint (char *buf, int n, CMML_UTC *t) | 
| int | cmml_utc_pretty_snprint (char *buf, int n, CMML_UTC *t) |