00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef __LIBMNT_H__
00027 #define __LIBMNT_H__
00028
00029
00039 #include <dbus/dbus.h>
00040
00041 #if defined(__cplusplus)
00042 extern "C" {
00043 #endif
00044
00045
00047 #define DBUS_SERVICE_MNT "biz.bambach.Mnt"
00048
00050 #define DBUS_PATH_MNT_MANAGER "/biz/bambach/Mnt/Manager"
00051
00053 #define DBUS_PATH_MNT_BLOCK "/biz/bambach/Mnt/Block"
00054
00056 #define DBUS_PATH_MNT_DISC "/biz/bambach/Mnt/Disc"
00057
00059 #define DBUS_PATH_MNT_TTY "/biz/bambach/Mnt/Tty"
00060
00062 #define DBUS_INTERFACE_MNT_MANAGER "biz.bambach.Mnt.Manager"
00063
00065 #define DBUS_INTERFACE_MNT_BLOCK "biz.bambach.Mnt.Block"
00066
00068 #define DBUS_INTERFACE_MNT_DISC "biz.bambach.Mnt.Disc"
00069
00071 #define DBUS_INTERFACE_MNT_TTY "biz.bambach.Mnt.Tty"
00072
00074 #define DBUS_ERROR_NO_SUCH_DEVICE "biz.bambach.Mnt.NoSuchDevice"
00075
00077 #define DBUS_ERROR_SYNTAX "biz.bambach.Mnt.SyntaxError"
00078
00080 #define DBUS_ERROR_NO_MNTPNT "biz.bambach.Mnt.NoMntPnt"
00081
00082
00088 typedef void (*LibMntMainLoop)(DBusConnection* dbus_connection, void *user_data);
00089
00090
00097 typedef void (*LibMntVolumeMounted)(const char* udi, const char* mntpnt, void *user_data);
00098
00099
00106 typedef void (*LibMntVolumeUnmounted)(const char* udi, const char* mntpnt, void *user_data);
00107
00108
00113 typedef void (*LibMntDbusDisconnect)(void *user_data);
00114
00115
00120 typedef struct LIBMNTFUNCS_
00121 {
00123 LibMntMainLoop main_loop;
00124
00126 LibMntVolumeMounted volume_mounted;
00127
00129 LibMntVolumeUnmounted volume_unmounted;
00130
00132 LibMntDbusDisconnect dbus_disconnect;
00133
00134 } LIBMNTFUNCS, *PLIBMNTFUNCS;
00135
00136
00145 int mnt_init(PLIBMNTFUNCS functions, void *user_data);
00146
00147
00151 void mnt_quit(void);
00152
00153
00161 char **mnt_get_all_volumes(int *num_volumes);
00162
00163
00170 char *mnt_get_mntpnt(char *udi);
00171
00172
00178 int mnt_remount_rd(char *udi);
00179
00180
00186 int mnt_remount_rw(char *udi);
00187
00188
00195 DBusConnection *_mnt_get_connection(void);
00196
00197
00198 #if defined(__cplusplus)
00199 }
00200 #endif
00201
00204 #endif