[Libguestfs] [PATCH 1/2] daemon: Tidy up the <daemon.h> header file.

Richard W.M. Jones rjones at redhat.com
Mon Jul 24 16:10:13 UTC 2017


No change, just tidy up the header file.
---
 daemon/daemon.h | 283 ++++++++++++++++++++++++++------------------------------
 1 file changed, 130 insertions(+), 153 deletions(-)

diff --git a/daemon/daemon.h b/daemon/daemon.h
index be7a3bedc..50ce41306 100644
--- a/daemon/daemon.h
+++ b/daemon/daemon.h
@@ -38,7 +38,11 @@
 #include "structs-cleanups.h"
 #include "command.h"
 
-/* Mountables */
+struct stringsbuf {
+  char **argv;
+  size_t size;
+  size_t alloc;
+};
 
 typedef struct {
   mountable_type_t type;
@@ -46,40 +50,52 @@ typedef struct {
   char *volume;
 } mountable_t;
 
-extern void cleanup_free_mountable (mountable_t *mountable);
-
-#ifdef HAVE_ATTRIBUTE_CLEANUP
-#define CLEANUP_FREE_MOUNTABLE __attribute__((cleanup(cleanup_free_mountable)))
-#else
-#define CLEANUP_FREE_MOUNTABLE
-#endif
-
-/*-- in guestfsd.c --*/
+/* guestfsd.c */
 extern int verbose;
-
 extern int enable_network;
-
 extern int autosync_umount;
-
 extern int test_mode;
-
 extern const char *sysroot;
 extern size_t sysroot_len;
 
 extern char *sysroot_path (const char *path);
 extern char *sysroot_realpath (const char *path);
-
 extern int is_root_device (const char *device);
-
 extern int xwrite (int sock, const void *buf, size_t len)
   __attribute__((__warn_unused_result__));
 extern int xread (int sock, void *buf, size_t len)
   __attribute__((__warn_unused_result__));
+extern void sort_strings (char **argv, size_t len);
+extern void free_stringslen (char **argv, size_t len);
+extern void sort_device_names (char **argv, size_t len);
+extern int compare_device_names (const char *a, const char *b);
+extern char **take_stringsbuf (struct stringsbuf *sb);
+extern void free_stringsbuf (struct stringsbuf *sb);
+extern struct stringsbuf split_lines_sb (char *str);
+extern char **split_lines (char *str);
+extern char **empty_list (void);
+extern int is_power_of_2 (unsigned long v);
+extern void trim (char *str);
+extern int parse_btrfsvol (const char *desc, mountable_t *mountable);
+extern int prog_exists (const char *prog);
+extern void udev_settle_file (const char *file);
+extern void udev_settle (void);
+extern int random_name (char *template);
+extern char *get_random_uuid (void);
+extern char *make_exclude_from_file (const char *function, char *const *excludes);
+extern int asprintf_nowarn (char **strp, const char *fmt, ...);
 
+/* mountable functions (in guestfsd.c) */
 extern char *mountable_to_string (const mountable_t *mountable);
+extern void cleanup_free_mountable (mountable_t *mountable);
 
-/*-- in cleanups.c --*/
+#ifdef HAVE_ATTRIBUTE_CLEANUP
+#define CLEANUP_FREE_MOUNTABLE __attribute__((cleanup(cleanup_free_mountable)))
+#else
+#define CLEANUP_FREE_MOUNTABLE
+#endif
 
+/* cleanups.c */
 /* These functions are used internally by the CLEANUP_* macros.
  * Don't call them directly.
  */
@@ -94,18 +110,14 @@ extern void cleanup_free_stringsbuf (void *ptr);
 #define CLEANUP_FREE_STRINGSBUF
 #endif
 
-/*-- in mount.c --*/
-
+/* mount.c */
 extern int mount_vfs_nochroot (const char *options, const char *vfstype,
                                const mountable_t *mountable,
                                const char *mp, const char *user_mp);
+extern int is_root_mounted (void);
+extern int is_device_mounted (const char *device);
 
-/* Growable strings buffer. */
-struct stringsbuf {
-  char **argv;
-  size_t size;
-  size_t alloc;
-};
+/* stringsbuf.c: growable strings buffer. */
 #define DECLARE_STRINGSBUF(v) \
   struct stringsbuf (v) = { .argv = NULL, .size = 0, .alloc = 0 }
 
@@ -124,101 +136,130 @@ extern int add_string (struct stringsbuf *sb, const char *str);
 extern int add_sprintf (struct stringsbuf *sb, const char *fs, ...)
   __attribute__((format (printf,2,3)));
 extern int end_stringsbuf (struct stringsbuf *sb);
-extern char **take_stringsbuf (struct stringsbuf *sb);
-extern void free_stringsbuf (struct stringsbuf *sb);
 
-extern void sort_strings (char **argv, size_t len);
-extern void free_stringslen (char **argv, size_t len);
 
-extern void sort_device_names (char **argv, size_t len);
-extern int compare_device_names (const char *a, const char *b);
-
-extern struct stringsbuf split_lines_sb (char *str);
-extern char **split_lines (char *str);
-
-extern char **empty_list (void);
-
-#define __external_command __attribute__((__section__(".guestfsd_ext_cmds")))
-#define GUESTFSD_EXT_CMD(___ext_cmd_var, ___ext_cmd_str) static const char ___ext_cmd_var[] __external_command = #___ext_cmd_str
-
-extern int is_power_of_2 (unsigned long v);
-
-extern void trim (char *str);
-
-extern int parse_btrfsvol (const char *desc, mountable_t *mountable);
-
-extern int prog_exists (const char *prog);
-
-extern void udev_settle_file (const char *file);
-
-extern void udev_settle (void);
-
-extern int random_name (char *template);
-
-extern char *get_random_uuid (void);
-
-extern char *make_exclude_from_file (const char *function, char *const *excludes);
-
-extern int asprintf_nowarn (char **strp, const char *fmt, ...);
-
-/*-- in names.c (auto-generated) --*/
+/* names.c (auto-generated) */
 extern const char *function_names[];
 
-/*-- in proto.c --*/
+/* proto.c */
 extern int proc_nr;
 extern int serial;
 extern uint64_t progress_hint;
 extern uint64_t optargs_bitmask;
 
-/*-- in mount.c --*/
-extern int is_root_mounted (void);
-extern int is_device_mounted (const char *device);
+extern void main_loop (int sock) __attribute__((noreturn));
 
-/*-- in device-name-translation.c --*/
+/* Ordinary daemon functions use these to indicate errors.
+ * NB: you don't need to prefix the string with the current command,
+ * it is added automatically by the client-side RPC stubs.
+ */
+extern void reply_with_error_errno (int err, const char *fs, ...)
+  __attribute__((format (printf,2,3)));
+extern void reply_with_perror_errno (int err, const char *fs, ...)
+  __attribute__((format (printf,2,3)));
+#define reply_with_error(...) reply_with_error_errno(0, __VA_ARGS__)
+#define reply_with_perror(...) reply_with_perror_errno(errno, __VA_ARGS__)
+#define reply_with_unavailable_feature(feature) \
+  reply_with_error_errno (ENOTSUP, \
+     "feature '%s' is not available in this\n" \
+     "build of libguestfs.  Read 'AVAILABILITY' in the guestfs(3) man page for\n" \
+     "how to check for the availability of features.", \
+     feature)
+
+/* Daemon functions that receive files (FileIn) should call
+ * receive_file for each FileIn parameter.
+ */
+typedef int (*receive_cb) (void *opaque, const void *buf, size_t len);
+extern int receive_file (receive_cb cb, void *opaque);
+
+/* Daemon functions that receive files (FileIn) can call this
+ * to cancel incoming transfers (eg. if there is a local error).
+ */
+extern int cancel_receive (void);
+
+/* Daemon functions that return files (FileOut) should call
+ * reply, then send_file_* for each FileOut parameter.
+ * Note max write size if GUESTFS_MAX_CHUNK_SIZE.
+ */
+extern int send_file_write (const void *buf, size_t len);
+extern int send_file_end (int cancel);
+
+/* Only call this if there is a FileOut parameter. */
+extern void reply (xdrproc_t xdrp, char *ret);
+
+/* Notify progress to caller.  This function is self-rate-limiting so
+ * you can call it as often as necessary.  Actions which call this
+ * should add 'Progress' note in generator.
+ */
+extern void notify_progress (uint64_t position, uint64_t total);
+
+/* Pulse mode progress messages.
+ *
+ * Call pulse_mode_start to start sending progress messages.
+ *
+ * Call pulse_mode_end along the ordinary exit path (ie. before a
+ * reply message is sent).
+ *
+ * Call pulse_mode_cancel along all error paths *before* any reply is
+ * sent.  pulse_mode_cancel does not modify errno, so it is safe to
+ * call it before reply_with_perror.
+ *
+ * Pulse mode and ordinary notify_progress must not be mixed.
+ */
+extern void pulse_mode_start (void);
+extern void pulse_mode_end (void);
+extern void pulse_mode_cancel (void);
+
+/* Send a progress message without rate-limiting.  This is just
+ * for debugging - DON'T use it in regular code!
+ */
+extern void notify_progress_no_ratelimit (uint64_t position, uint64_t total, const struct timeval *now);
+
+/* device-name-translation.c */
 extern char *device_name_translation (const char *device);
 extern char *reverse_device_name_translation (const char *device);
 
-/*-- in stubs.c (auto-generated) --*/
+/* stubs.c (auto-generated) */
 extern void dispatch_incoming_message (XDR *);
 extern guestfs_int_lvm_pv_list *parse_command_line_pvs (void);
 extern guestfs_int_lvm_vg_list *parse_command_line_vgs (void);
 extern guestfs_int_lvm_lv_list *parse_command_line_lvs (void);
 
-/*-- in optgroups.c (auto-generated) --*/
+/* 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 available.c --*/
+/* available.c */
 extern int filesystem_available (const char *filesystem);
 
-/*-- in sync.c --*/
+/* sync.c */
 /* Use this as a replacement for sync(2). */
 extern int sync_disks (void);
 
-/*-- in ext2.c --*/
+/* ext2.c */
 /* Confirmed this is true up to ext4 from the Linux sources. */
 #define EXT2_LABEL_MAX 16
 extern int fstype_is_extfs (const char *fstype);
 extern int ext_set_uuid_random (const char *device);
 extern int64_t ext_minimum_size (const char *device);
 
-/*-- in blkid.c --*/
+/* blkid.c */
 extern char *get_blkid_tag (const char *device, const char *tag);
 
-/*-- in lvm.c --*/
+/* lvm.c */
 extern int lv_canonical (const char *device, char **ret);
 
-/*-- in lvm-filter.c --*/
+/* lvm-filter.c */
 extern void copy_lvm (void);
 extern void start_lvmetad (void);
 
-/*-- in zero.c --*/
+/* zero.c */
 extern void wipe_device_before_mkfs (const char *device);
 
-/*-- in augeas.c --*/
+/* augeas.c */
 extern void aug_read_version (void);
 extern void aug_finalize (void);
 
@@ -233,17 +274,16 @@ augeas_is_version (int major, int minor, int patch)
   return augeas_version >= ((major << 16) | (minor << 8) | patch);
 }
 
-/*-- hivex.c, journal.c --*/
+/* hivex.c */
 extern void hivex_finalize (void);
+
+/* journal.c */
 extern void journal_finalize (void);
 
-/*-- in proto.c --*/
-extern void main_loop (int sock) __attribute__((noreturn));
-
-/*-- in xattr.c --*/
+/* xattr.c */
 extern int copy_xattrs (const char *src, const char *dest);
 
-/*-- in xfs.c --*/
+/* xfs.c */
 /* Documented in xfs_admin(8). */
 #define XFS_LABEL_MAX 12
 extern int xfs_set_uuid (const char *device, const char *uuid);
@@ -251,96 +291,30 @@ extern int xfs_set_uuid_random (const char *device);
 extern int xfs_set_label (const char *device, const char *label);
 extern int64_t xfs_minimum_size (const char *path);
 
-/*-- debug-bmap.c --*/
+/* debug-bmap.c */
 extern char *debug_bmap (const char *subcmd, size_t argc, char *const *const argv);
 extern char *debug_bmap_file (const char *subcmd, size_t argc, char *const *const argv);
 extern char *debug_bmap_device (const char *subcmd, size_t argc, char *const *const argv);
 
-/*-- in btrfs.c --*/
+/* btrfs.c */
 extern char *btrfs_get_label (const char *device);
 extern int btrfs_set_label (const char *device, const char *label);
 extern int btrfs_set_uuid (const char *device, const char *uuid);
 extern int btrfs_set_uuid_random (const char *device);
 extern int64_t btrfs_minimum_size (const char *path);
 
-/*-- in ntfs.c --*/
+/* ntfs.c */
 extern char *ntfs_get_label (const char *device);
 extern int ntfs_set_label (const char *device, const char *label);
 extern int64_t ntfs_minimum_size (const char *device);
 
-/*-- in swap.c --*/
+/* swap.c */
 extern int swap_set_uuid (const char *device, const char *uuid);
 extern int swap_set_label (const char *device, const char *label);
 
-/*-- in upload.c --*/
+/* upload.c */
 extern int upload_to_fd (int fd, const char *filename);
 
-/* ordinary daemon functions use these to indicate errors
- * NB: you don't need to prefix the string with the current command,
- * it is added automatically by the client-side RPC stubs.
- */
-extern void reply_with_error_errno (int err, const char *fs, ...)
-  __attribute__((format (printf,2,3)));
-extern void reply_with_perror_errno (int err, const char *fs, ...)
-  __attribute__((format (printf,2,3)));
-#define reply_with_error(...) reply_with_error_errno(0, __VA_ARGS__)
-#define reply_with_perror(...) reply_with_perror_errno(errno, __VA_ARGS__)
-#define reply_with_unavailable_feature(feature) \
-  reply_with_error_errno (ENOTSUP, \
-     "feature '%s' is not available in this\n" \
-     "build of libguestfs.  Read 'AVAILABILITY' in the guestfs(3) man page for\n" \
-     "how to check for the availability of features.", \
-     feature)
-
-/* daemon functions that receive files (FileIn) should call
- * receive_file for each FileIn parameter.
- */
-typedef int (*receive_cb) (void *opaque, const void *buf, size_t len);
-extern int receive_file (receive_cb cb, void *opaque);
-
-/* daemon functions that receive files (FileIn) can call this
- * to cancel incoming transfers (eg. if there is a local error).
- */
-extern int cancel_receive (void);
-
-/* daemon functions that return files (FileOut) should call
- * reply, then send_file_* for each FileOut parameter.
- * Note max write size if GUESTFS_MAX_CHUNK_SIZE.
- */
-extern int send_file_write (const void *buf, size_t len);
-extern int send_file_end (int cancel);
-
-/* only call this if there is a FileOut parameter */
-extern void reply (xdrproc_t xdrp, char *ret);
-
-/* Notify progress to caller.  This function is self-rate-limiting so
- * you can call it as often as necessary.  Actions which call this
- * should add 'Progress' note in generator.
- */
-extern void notify_progress (uint64_t position, uint64_t total);
-
-/* Pulse mode progress messages.
- *
- * Call pulse_mode_start to start sending progress messages.
- *
- * Call pulse_mode_end along the ordinary exit path (ie. before a
- * reply message is sent).
- *
- * Call pulse_mode_cancel along all error paths *before* any reply is
- * sent.  pulse_mode_cancel does not modify errno, so it is safe to
- * call it before reply_with_perror.
- *
- * Pulse mode and ordinary notify_progress must not be mixed.
- */
-extern void pulse_mode_start (void);
-extern void pulse_mode_end (void);
-extern void pulse_mode_cancel (void);
-
-/* Send a progress message without rate-limiting.  This is just
- * for debugging - DON'T use it in regular code!
- */
-extern void notify_progress_no_ratelimit (uint64_t position, uint64_t total, const struct timeval *now);
-
 /* Helper for functions that need a root filesystem mounted. */
 #define NEED_ROOT(is_filein,fail_stmt)                                  \
   do {									\
@@ -423,4 +397,7 @@ extern void notify_progress_no_ratelimit (uint64_t position, uint64_t total, con
     }                                                                   \
   } while (0)
 
+#define __external_command __attribute__((__section__(".guestfsd_ext_cmds")))
+#define GUESTFSD_EXT_CMD(___ext_cmd_var, ___ext_cmd_str) static const char ___ext_cmd_var[] __external_command = #___ext_cmd_str
+
 #endif /* GUESTFSD_DAEMON_H */
-- 
2.13.2




More information about the Libguestfs mailing list