summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--capitests/test-command.c3
-rw-r--r--fish/fish.h10
-rw-r--r--fuse/Makefile.am3
-rw-r--r--fuse/dircache.c10
-rw-r--r--fuse/dircache.h2
-rw-r--r--fuse/guestmount.c16
-rw-r--r--fuse/guestmount.h55
-rw-r--r--src/Makefile.am1
-rw-r--r--src/generator.ml3
-rw-r--r--src/guestfs-internal.h32
-rw-r--r--src/guestfs.c1
-rw-r--r--src/guestfs.h10
-rw-r--r--test-tool/test-tool.c10
13 files changed, 121 insertions, 35 deletions
diff --git a/capitests/test-command.c b/capitests/test-command.c
index c43353d4..7a3e64bd 100644
--- a/capitests/test-command.c
+++ b/capitests/test-command.c
@@ -26,6 +26,9 @@
#include <string.h>
#include <unistd.h>
+/* Get STREQ etc */
+#include "../src/guestfs-internal.h"
+
int
main (int argc, char *argv[])
{
diff --git a/fish/fish.h b/fish/fish.h
index cdb3d634..8b3bdbc0 100644
--- a/fish/fish.h
+++ b/fish/fish.h
@@ -30,6 +30,16 @@
#define N_(str) str
#endif
+#define STREQ(a,b) (strcmp((a),(b)) == 0)
+#define STRCASEEQ(a,b) (strcasecmp((a),(b)) == 0)
+#define STRNEQ(a,b) (strcmp((a),(b)) != 0)
+#define STRCASENEQ(a,b) (strcasecmp((a),(b)) != 0)
+#define STREQLEN(a,b,n) (strncmp((a),(b),(n)) == 0)
+#define STRCASEEQLEN(a,b,n) (strncasecmp((a),(b),(n)) == 0)
+#define STRNEQLEN(a,b,n) (strncmp((a),(b),(n)) != 0)
+#define STRCASENEQLEN(a,b,n) (strncasecmp((a),(b),(n)) != 0)
+#define STRPREFIX(a,b) (strncmp((a),(b),strlen((b))) == 0)
+
/* in fish.c */
extern guestfs_h *g;
extern int quit;
diff --git a/fuse/Makefile.am b/fuse/Makefile.am
index dc00823d..c0410583 100644
--- a/fuse/Makefile.am
+++ b/fuse/Makefile.am
@@ -24,7 +24,8 @@ bin_PROGRAMS = guestmount
guestmount_SOURCES = \
dircache.c \
dircache.h \
- guestmount.c
+ guestmount.c \
+ guestmount.h
guestmount_CFLAGS = \
-I$(top_srcdir)/src -I$(top_builddir)/src \
diff --git a/fuse/dircache.c b/fuse/dircache.c
index 10289260..86760f0f 100644
--- a/fuse/dircache.c
+++ b/fuse/dircache.c
@@ -37,17 +37,9 @@
#include "hash.h"
#include "hash-pjw.h"
+#include "guestmount.h"
#include "dircache.h"
-extern int verbose;
-extern int dir_cache_timeout;
-
-static inline char *
-bad_cast (char const *s)
-{
- return (char *) s;
-}
-
/* Note on attribute caching: FUSE can cache filesystem attributes for
* short periods of time (configurable via -o attr_timeout). It
* doesn't cache xattrs, and in any case FUSE caching doesn't solve
diff --git a/fuse/dircache.h b/fuse/dircache.h
index adc117ec..748d17cc 100644
--- a/fuse/dircache.h
+++ b/fuse/dircache.h
@@ -41,4 +41,6 @@ extern const struct stat *lsc_lookup (const char *pathname);
extern const struct guestfs_xattr_list *xac_lookup (const char *pathname);
extern const char *rlc_lookup (const char *pathname);
+extern int dir_cache_timeout;
+
#endif /* GUESTMOUNT_DIRCACHE_H */
diff --git a/fuse/guestmount.c b/fuse/guestmount.c
index d45c18bd..739d8cbf 100644
--- a/fuse/guestmount.c
+++ b/fuse/guestmount.c
@@ -46,6 +46,7 @@
#include "progname.h"
+#include "guestmount.h"
#include "dircache.h"
/* See <attr/xattr.h> */
@@ -53,21 +54,6 @@
#define ENOATTR ENODATA
#endif
-#ifdef HAVE_GETTEXT
-#include "gettext.h"
-#define _(str) dgettext(PACKAGE, (str))
-//#define N_(str) dgettext(PACKAGE, (str))
-#else
-#define _(str) str
-//#define N_(str) str
-#endif
-
-static inline char *
-bad_cast (char const *s)
-{
- return (char *) s;
-}
-
static guestfs_h *g = NULL;
static int read_only = 0;
int verbose = 0;
diff --git a/fuse/guestmount.h b/fuse/guestmount.h
new file mode 100644
index 00000000..07cd42ea
--- /dev/null
+++ b/fuse/guestmount.h
@@ -0,0 +1,55 @@
+/* guestmount - mount guests using libguestfs and FUSE
+ * Copyright (C) 2009 Red Hat Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Derived from the example program 'fusexmp.c':
+ * Copyright (C) 2001-2007 Miklos Szeredi <miklos@szeredi.hu>
+ *
+ * This program can be distributed under the terms of the GNU GPL.
+ * See the file COPYING.
+ */
+
+#ifndef GUESTMOUNT_H_
+#define GUESTMOUNT_H_
+
+#ifdef HAVE_GETTEXT
+#include "gettext.h"
+#define _(str) dgettext(PACKAGE, (str))
+//#define N_(str) dgettext(PACKAGE, (str))
+#else
+#define _(str) str
+//#define N_(str) str
+#endif
+
+#define STREQ(a,b) (strcmp((a),(b)) == 0)
+#define STRCASEEQ(a,b) (strcasecmp((a),(b)) == 0)
+#define STRNEQ(a,b) (strcmp((a),(b)) != 0)
+#define STRCASENEQ(a,b) (strcasecmp((a),(b)) != 0)
+#define STREQLEN(a,b,n) (strncmp((a),(b),(n)) == 0)
+#define STRCASEEQLEN(a,b,n) (strncasecmp((a),(b),(n)) == 0)
+#define STRNEQLEN(a,b,n) (strncmp((a),(b),(n)) != 0)
+#define STRCASENEQLEN(a,b,n) (strncasecmp((a),(b),(n)) != 0)
+#define STRPREFIX(a,b) (strncmp((a),(b),strlen((b))) == 0)
+
+static inline char *
+bad_cast (char const *s)
+{
+ return (char *) s;
+}
+
+extern int verbose;
+
+#endif /* GUESTMOUNT_H_ */
diff --git a/src/Makefile.am b/src/Makefile.am
index 4fb466db..419982b9 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -106,6 +106,7 @@ libguestfs_la_SOURCES = \
guestfs-actions.h \
guestfs-actions.c \
guestfs-bindtests.c \
+ guestfs-internal.h \
gettext.h
# Make libguestfs include the convenience library.
diff --git a/src/generator.ml b/src/generator.ml
index dd58a021..bde50ff6 100644
--- a/src/generator.ml
+++ b/src/generator.ml
@@ -5088,6 +5088,7 @@ and generate_client_actions () =
#include <inttypes.h>
#include \"guestfs.h\"
+#include \"guestfs-internal.h\"
#include \"guestfs-internal-actions.h\"
#include \"guestfs_protocol.h\"
@@ -5845,6 +5846,7 @@ and generate_tests () =
#include <fcntl.h>
#include \"guestfs.h\"
+#include \"guestfs-internal.h\"
static guestfs_h *g;
static int suppress_error = 0;
@@ -9701,6 +9703,7 @@ and generate_bindtests () =
#include <string.h>
#include \"guestfs.h\"
+#include \"guestfs-internal.h\"
#include \"guestfs-internal-actions.h\"
#include \"guestfs_protocol.h\"
diff --git a/src/guestfs-internal.h b/src/guestfs-internal.h
new file mode 100644
index 00000000..aa78c3a8
--- /dev/null
+++ b/src/guestfs-internal.h
@@ -0,0 +1,32 @@
+/* libguestfs
+ * Copyright (C) 2009 Red Hat Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef GUESTFS_INTERNAL_H_
+#define GUESTFS_INTERNAL_H_
+
+#define STREQ(a,b) (strcmp((a),(b)) == 0)
+#define STRCASEEQ(a,b) (strcasecmp((a),(b)) == 0)
+#define STRNEQ(a,b) (strcmp((a),(b)) != 0)
+#define STRCASENEQ(a,b) (strcasecmp((a),(b)) != 0)
+#define STREQLEN(a,b,n) (strncmp((a),(b),(n)) == 0)
+#define STRCASEEQLEN(a,b,n) (strncasecmp((a),(b),(n)) == 0)
+#define STRNEQLEN(a,b,n) (strncmp((a),(b),(n)) != 0)
+#define STRCASENEQLEN(a,b,n) (strncasecmp((a),(b),(n)) != 0)
+#define STRPREFIX(a,b) (strncmp((a),(b),strlen((b))) == 0)
+
+#endif /* GUESTFS_INTERNAL_H_ */
diff --git a/src/guestfs.c b/src/guestfs.c
index 91d26721..4c94c325 100644
--- a/src/guestfs.c
+++ b/src/guestfs.c
@@ -61,6 +61,7 @@
#include <netinet/in.h>
#include "guestfs.h"
+#include "guestfs-internal.h"
#include "guestfs-internal-actions.h"
#include "guestfs_protocol.h"
#include "c-ctype.h"
diff --git a/src/guestfs.h b/src/guestfs.h
index e89f7443..35f995d1 100644
--- a/src/guestfs.h
+++ b/src/guestfs.h
@@ -30,16 +30,6 @@
extern "C" {
#endif
-#define STREQ(a,b) (strcmp((a),(b)) == 0)
-#define STRCASEEQ(a,b) (strcasecmp((a),(b)) == 0)
-#define STRNEQ(a,b) (strcmp((a),(b)) != 0)
-#define STRCASENEQ(a,b) (strcasecmp((a),(b)) != 0)
-#define STREQLEN(a,b,n) (strncmp((a),(b),(n)) == 0)
-#define STRCASEEQLEN(a,b,n) (strncasecmp((a),(b),(n)) == 0)
-#define STRNEQLEN(a,b,n) (strncmp((a),(b),(n)) != 0)
-#define STRCASENEQLEN(a,b,n) (strncasecmp((a),(b),(n)) != 0)
-#define STRPREFIX(a,b) (strncmp((a),(b),strlen((b))) == 0)
-
typedef struct guestfs_h guestfs_h;
/* Connection management. */
diff --git a/test-tool/test-tool.c b/test-tool/test-tool.c
index 73f3af5c..93aaca20 100644
--- a/test-tool/test-tool.c
+++ b/test-tool/test-tool.c
@@ -41,6 +41,16 @@
#define N_(str) str
#endif
+#define STREQ(a,b) (strcmp((a),(b)) == 0)
+#define STRCASEEQ(a,b) (strcasecmp((a),(b)) == 0)
+#define STRNEQ(a,b) (strcmp((a),(b)) != 0)
+#define STRCASENEQ(a,b) (strcasecmp((a),(b)) != 0)
+#define STREQLEN(a,b,n) (strncmp((a),(b),(n)) == 0)
+#define STRCASEEQLEN(a,b,n) (strncasecmp((a),(b),(n)) == 0)
+#define STRNEQLEN(a,b,n) (strncmp((a),(b),(n)) != 0)
+#define STRCASENEQLEN(a,b,n) (strncasecmp((a),(b),(n)) != 0)
+#define STRPREFIX(a,b) (strncmp((a),(b),strlen((b))) == 0)
+
#define DEFAULT_TIMEOUT 120
static const char *helper = DEFAULT_HELPER;