X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=daemon%2Fdaemon.h;h=6872bd7530da3baccd035f74b85327702ebeff21;hb=b76462f7433d064019382992163e3553c7906ee7;hp=ac6847927116bb3c89f5f28411b4fe1810b5dd68;hpb=3e70b34eed5a48640e20fbf6dcba774aaace1f3c;p=libguestfs.git diff --git a/daemon/daemon.h b/daemon/daemon.h index ac68479..6872bd7 100644 --- a/daemon/daemon.h +++ b/daemon/daemon.h @@ -19,6 +19,7 @@ #ifndef GUESTFSD_DAEMON_H #define GUESTFSD_DAEMON_H +#include #include #include #include @@ -104,6 +105,17 @@ extern guestfs_int_lvm_lv_list *parse_command_line_lvs (void); /*-- in proto.c --*/ extern void main_loop (int sock) __attribute__((noreturn)); +/*-- in optgroups.c (auto-generated) --*/ +struct optgroup { + const char *group; /* Name of the optional group. */ + int (*available) (void); /* Function to test availability. */ +}; +extern struct optgroup optgroups[]; + +/*-- in sync.c --*/ +/* Use this as a replacement for sync(2). */ +extern int sync_disks (void); + /* ordinary daemon functions use these to indicate errors */ extern void reply_with_error (const char *fs, ...) __attribute__((format (printf,1,2))); @@ -224,6 +236,16 @@ extern void reply (xdrproc_t xdrp, char *ret); } \ while (0) +/* Marks functions which are not available. + * NB. Cannot be used for FileIn functions. + */ +#define NOT_AVAILABLE(errcode) \ + do { \ + reply_with_error ("%s: function not available", __func__); \ + return (errcode); \ + } \ + while (0) + #ifndef __attribute__ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) # define __attribute__(x) /* empty */