summaryrefslogtreecommitdiff
path: root/libdiskfs
diff options
context:
space:
mode:
Diffstat (limited to 'libdiskfs')
-rw-r--r--libdiskfs/Makefile2
-rw-r--r--libdiskfs/diskfs.h14
-rw-r--r--libdiskfs/priv.c (renamed from libdiskfs/extra-version.c)11
-rw-r--r--libdiskfs/priv.h2
4 files changed, 18 insertions, 11 deletions
diff --git a/libdiskfs/Makefile b/libdiskfs/Makefile
index 66c9f53e..aa6b24a4 100644
--- a/libdiskfs/Makefile
+++ b/libdiskfs/Makefile
@@ -52,7 +52,7 @@ OTHERSRCS = conch-fetch.c conch-set.c dir-clear.c dir-init.c dir-renamed.c \
remount.c console.c disk-pager.c \
name-cache.c direnter.c dirrewrite.c dirremove.c lookup.c dead-name.c \
validate-mode.c validate-group.c validate-author.c validate-flags.c \
- validate-rdev.c validate-owner.c extra-version.c get-source.c
+ validate-rdev.c validate-owner.c priv.c get-source.c
SRCS = $(OTHERSRCS) $(FSSRCS) $(IOSRCS) $(FSYSSRCS) $(IFSOCKSRCS)
installhdrs = diskfs.h diskfs-pager.h
diff --git a/libdiskfs/diskfs.h b/libdiskfs/diskfs.h
index 272dd57e..dfccf880 100644
--- a/libdiskfs/diskfs.h
+++ b/libdiskfs/diskfs.h
@@ -276,23 +276,23 @@ extern char *diskfs_extra_version;
if the symlink hook functions return EINVAL or are not defined.
The library knows that the dn_stat.st_size field is the length of
the symlink, even if the hook functions are used. */
-int diskfs_shortcut_symlink;
+extern int diskfs_shortcut_symlink;
/* The user may define this variable. This should be nonzero iff the
filesystem format supports shortcutting chrdev translation. */
-int diskfs_shortcut_chrdev;
+extern int diskfs_shortcut_chrdev;
/* The user may define this variable. This should be nonzero iff the
filesystem format supports shortcutting blkdev translation. */
-int diskfs_shortcut_blkdev;
+extern int diskfs_shortcut_blkdev;
/* The user may define this variable. This should be nonzero iff the
filesystem format supports shortcutting fifo translation. */
-int diskfs_shortcut_fifo;
+extern int diskfs_shortcut_fifo;
/* The user may define this variable. This should be nonzero iff the
filesystem format supports shortcutting ifsock translation. */
-int diskfs_shortcut_ifsock;
+extern int diskfs_shortcut_ifsock;
/* The user may define this variable, otherwise it has a default value of 30.
diskfs_set_sync_interval is called with this value when the first diskfs
@@ -576,13 +576,13 @@ error_t diskfs_node_reload (struct node *node);
is called to set a symlink. If it returns EINVAL or isn't set,
then the normal method (writing the contents into the file data) is
used. If it returns any other error, it is returned to the user. */
-error_t (*diskfs_create_symlink_hook)(struct node *np, const char *target);
+extern error_t (*diskfs_create_symlink_hook)(struct node *np, const char *target);
/* If this function is nonzero (and diskfs_shortcut_symlink is set) it
is called to read the contents of a symlink. If it returns EINVAL or
isn't set, then the normal method (reading from the file data) is
used. If it returns any other error, it is returned to the user. */
-error_t (*diskfs_read_symlink_hook)(struct node *np, char *target);
+extern error_t (*diskfs_read_symlink_hook)(struct node *np, char *target);
/* The user may define this function. The function must set source to
the source of the translator. The function may return an EOPNOTSUPP
diff --git a/libdiskfs/extra-version.c b/libdiskfs/priv.c
index 51920aa7..e5f0e2fd 100644
--- a/libdiskfs/extra-version.c
+++ b/libdiskfs/priv.c
@@ -1,4 +1,4 @@
-/* Default value for diskfs_extra_version
+/* Default values for weak variables
Copyright (C) 1996 Free Software Foundation, Inc.
Written by Thomas Bushnell, n/BSG.
@@ -22,3 +22,12 @@
#include "priv.h"
char *diskfs_extra_version __attribute__ ((weak)) = "";
+int diskfs_shortcut_symlink __attribute__ ((weak)) = 0;
+int diskfs_shortcut_chrdev __attribute__ ((weak)) = 0;
+int diskfs_shortcut_blkdev __attribute__ ((weak)) = 0;
+int diskfs_shortcut_fifo __attribute__ ((weak)) = 0;
+int diskfs_shortcut_ifsock __attribute__ ((weak)) = 0;
+error_t (*diskfs_create_symlink_hook)(struct node *np, const char *target)
+ __attribute__ ((weak));
+error_t (*diskfs_read_symlink_hook)(struct node *np, char *target)
+ __attribute__ ((weak));
diff --git a/libdiskfs/priv.h b/libdiskfs/priv.h
index bece45a0..5be7c2b5 100644
--- a/libdiskfs/priv.h
+++ b/libdiskfs/priv.h
@@ -52,8 +52,6 @@ extern char **_diskfs_boot_command;
/* Port cell holding a cached port to the exec server. */
extern struct hurd_port _diskfs_exec_portcell;
-volatile struct mapped_time_value *_diskfs_mtime;
-
extern const struct argp_option diskfs_common_options[];
/* Option keys for long-only options in diskfs_common_options. */
#define OPT_SUID_OK 600 /* --suid-ok */