#ifndef EEZE_DISK_PRIVATE_H #define EEZE_DISK_PRIVATE_H #include #include #ifndef EEZE_DISK_COLOR_DEFAULT #define EEZE_DISK_COLOR_DEFAULT EINA_COLOR_LIGHTBLUE #endif extern int _eeze_disk_log_dom; #ifdef ERR #undef ERR #endif #ifdef INF #undef INF #endif #ifdef WARN #undef WARN #endif #ifdef DBG #undef DBG #endif #define DBG(...) EINA_LOG_DOM_DBG(_eeze_disk_log_dom, __VA_ARGS__) #define INF(...) EINA_LOG_DOM_INFO(_eeze_disk_log_dom, __VA_ARGS__) #define WARN(...) EINA_LOG_DOM_WARN(_eeze_disk_log_dom, __VA_ARGS__) #define ERR(...) EINA_LOG_DOM_ERR(_eeze_disk_log_dom, __VA_ARGS__) typedef enum { EEZE_DISK_NULL, EEZE_DISK_MOUNTING, EEZE_DISK_UNMOUNTING } Eeze_Disk_Status; struct _Eeze_Disk { _udev_device *device; void *data; Eeze_Disk_Status mount_status; Eina_Strbuf *mount_cmd; Eina_Strbuf *unmount_cmd; Eina_Bool mount_cmd_changed : 1; Eina_Bool unmount_cmd_changed : 1; Ecore_Exe *mounter; const char *syspath; const char *devpath; const char *fstype; const char *mount_point; struct { Eeze_Disk_Type type; Eina_Bool removable : 1; const char *vendor; const char *model; const char *serial; const char *uuid; const char *label; Eina_Bool filled : 1; } cache; }; Eina_Bool eeze_mount_init(void); void eeze_mount_shutdown(void); Eina_Bool eeze_libmount_init(void); void eeze_libmount_shutdown(void); Eina_Bool eeze_disk_libmount_mounted_get(Eeze_Disk *disk); const char *eeze_disk_libmount_mp_find_source(const char *mount_point); const char *eeze_disk_libmount_mp_lookup_by_uuid(const char *uuid); const char *eeze_disk_libmount_mp_lookup_by_label(const char *label); const char *eeze_disk_libmount_mp_lookup_by_devpath(const char *devpath); #endif