1 // lsd-tab.h 2 // LiVES 3 // (c) G. Finch 2020 <salsaman+lives@gmail.com> 4 // released under the GNU GPL 3 or later 5 // see file ../COPYING or www.gnu.org for licensing details 6 // functions for handling the LiVES Struct Def Table 7 8 #ifndef HAS_LIVES_LSD_TAB_H 9 #define HAS_LIVES_LSD_TAB_H 10 11 typedef enum { 12 LIVES_STRUCT_CLIP_DATA_T, 13 LIVES_STRUCT_FILE_DETS_T, 14 LIVES_N_STRUCTS 15 } lives_struct_type; 16 17 #define LIVES_STRUCT_FIRST LIVES_STRUCT_CLIP_DATA_T 18 19 const lives_struct_def_t *get_lsd(lives_struct_type st_type); 20 void *struct_from_template(lives_struct_type st_type); 21 void *copy_struct(lives_struct_def_t *); 22 const char *lives_struct_get_creator(lives_struct_def_t *); 23 void unref_struct(lives_struct_def_t *); 24 void ref_struct(lives_struct_def_t *); 25 boolean lives_structs_equal(lives_struct_def_t *, lives_struct_def_t *); 26 boolean lives_struct_is_a(lives_struct_def_t *, const char *st_type); 27 boolean lives_structs_same_type(lives_struct_def_t *, lives_struct_def_t *); 28 29 uint64_t lsd_check_struct(lives_struct_def_t *); 30 uint64_t lsd_check_match(lives_struct_def_t *, lives_struct_def_t *); 31 32 char *weed_plant_to_header(weed_plant_t *, const char *tname); 33 34 #endif 35