1 #ifndef SHARES_H
2 #define SHARES_H
3 
4 #include <glib.h>
5 
6 typedef struct {
7 	char *path;
8 	char *share_name;
9 	char *comment;
10 	gboolean is_writable;
11 	gboolean guest_ok;
12 } ShareInfo;
13 
14 #define SHARES_ERROR (shares_error_quark ())
15 
16 typedef enum {
17 	SHARES_ERROR_FAILED,
18 	SHARES_ERROR_NONEXISTENT
19 } SharesError;
20 
21 GQuark shares_error_quark (void);
22 
23 void shares_free_share_info (ShareInfo *info);
24 
25 gboolean shares_get_path_is_shared (const char *path, gboolean *ret_is_shared, GError **error);
26 
27 gboolean shares_get_share_info_for_path (const char *path, ShareInfo **ret_share_info, GError **error);
28 
29 gboolean shares_get_share_name_exists (const char *share_name, gboolean *ret_exists, GError **error);
30 
31 gboolean shares_get_share_info_for_share_name (const char *share_name, ShareInfo **ret_share_info, GError **error);
32 
33 gboolean shares_modify_share (const char *old_path, ShareInfo *info, GError **error);
34 
35 gboolean shares_get_share_info_list (GSList **ret_info_list, GError **error);
36 
37 void shares_free_share_info_list (GSList *list);
38 
39 gboolean shares_supports_guest_ok (gboolean *supports_guest_ok_ret,
40 				   GError **error);
41 
42 void shares_set_debug (gboolean error_on_refresh,
43 		       gboolean error_on_add,
44 		       gboolean error_on_modify,
45 		       gboolean error_on_remove);
46 
47 #endif
48