#ifndef ECDB_H #define ECDB_H #include "config.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #undef FREE #define FREE(dat) \ { \ if (dat) { free(dat); dat = NULL; } \ } /* Typdefs */ typedef struct burn_source BurnSource; typedef struct burn_disc BurnDisc; typedef struct burn_session BurnSession; typedef struct burn_write_opts BurnWriteOpts; typedef struct burn_track BurnTrack; typedef struct burn_progress BurnProgress; typedef struct burn_drive_info BurnDriveInfo; typedef enum burn_drive_status BurnDriveStatus; /* ECDB Global Variables */ typedef struct _Ecdb_Main Ecdb_Main; struct _Ecdb_Main { Ecore_List *projects; Ecore_List *drives; }; extern Ecdb_Main *em; typedef struct _Ecdb_Drive_Info Ecdb_Drive_Info; struct _Ecdb_Drive_Info { /* Speeds */ int *read_speeds; int *write_speeds; /* Profiles */ char *profile_name; int profile_loaded; /* Drive info */ char *vendor; char *product; char *revision; char *location; unsigned char read_dvdram:1; unsigned char read_dvdr:1; unsigned char read_dvdrom:1; unsigned char read_cdr:1; unsigned char read_cdrw:1; unsigned char write_dvdram:1; unsigned char write_dvdr:1; unsigned char write_cdr:1; unsigned char write_simulate:1; BurnDriveInfo *tangible; }; typedef struct _Ecdb_Project_Info Ecdb_Project; struct _Ecdb_Project_Info { /* Files are important here */ Ecore_List *files; /* Ids */ char *volume_id; char *publisher_id; char *data_preparer_id; char *system_id; char *application_id; char *copywrite_id; char *abstract_id; char *biblio_id; /* iso options */ unsigned char iso_level:1; unsigned char use_joliet:1; unsigned char use_rockridge:1; unsigned char follow_symlinks:1; unsigned char ignore_hidden:1; unsigned char ignore_special:1; unsigned char iso1990:1; /* burn options */ unsigned char opc:1; unsigned char multi:1; unsigned char simulate:1; unsigned char underrun_proof:1; int speed; /* burn stuff */ int fifo_chunksize; int fifo_chunks; int burn_mode; /* The drive reference */ Ecdb_Drive_Info *drive; BurnProgress progress; }; #include "ecdb_drives.h" #include "ecdb_image.h" #include "ecdb_burn.h" #include "ecdb_misc.h" #endif