git.annexia.org
/
libguestfs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Implement 'dd' command.
[libguestfs.git]
/
daemon
/
daemon.h
diff --git
a/daemon/daemon.h
b/daemon/daemon.h
index
1cdb480
..
7ba7599
100644
(file)
--- a/
daemon/daemon.h
+++ b/
daemon/daemon.h
@@
-19,6
+19,7
@@
#ifndef GUESTFSD_DAEMON_H
#define GUESTFSD_DAEMON_H
#ifndef GUESTFSD_DAEMON_H
#define GUESTFSD_DAEMON_H
+#include <stdio.h>
#include <stdarg.h>
#include <errno.h>
#include <unistd.h>
#include <stdarg.h>
#include <errno.h>
#include <unistd.h>
@@
-104,6
+105,13
@@
extern guestfs_int_lvm_lv_list *parse_command_line_lvs (void);
/*-- in proto.c --*/
extern void main_loop (int sock) __attribute__((noreturn));
/*-- 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[];
+
/* ordinary daemon functions use these to indicate errors */
extern void reply_with_error (const char *fs, ...)
__attribute__((format (printf,1,2)));
/* ordinary daemon functions use these to indicate errors */
extern void reply_with_error (const char *fs, ...)
__attribute__((format (printf,1,2)));
@@
-184,7
+192,7
@@
extern void reply (xdrproc_t xdrp, char *ret);
*/
#define REQUIRE_ROOT_OR_RESOLVE_DEVICE(path,fail_stmt) \
do { \
*/
#define REQUIRE_ROOT_OR_RESOLVE_DEVICE(path,fail_stmt) \
do { \
- if (
strncmp ((path), "/dev/", 5) == 0)
\
+ if (
STREQLEN ((path), "/dev/", 5))
\
RESOLVE_DEVICE ((path), fail_stmt); \
else { \
NEED_ROOT (fail_stmt); \
RESOLVE_DEVICE ((path), fail_stmt); \
else { \
NEED_ROOT (fail_stmt); \
@@
-224,6
+232,16
@@
extern void reply (xdrproc_t xdrp, char *ret);
} \
while (0)
} \
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 */
#ifndef __attribute__
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
# define __attribute__(x) /* empty */