summaryrefslogtreecommitdiff
path: root/libdiskfs
diff options
context:
space:
mode:
Diffstat (limited to 'libdiskfs')
-rw-r--r--libdiskfs/diskfs.h15
-rw-r--r--libdiskfs/extern-inline.c2
2 files changed, 14 insertions, 3 deletions
diff --git a/libdiskfs/diskfs.h b/libdiskfs/diskfs.h
index 9a61964c..2051e41d 100644
--- a/libdiskfs/diskfs.h
+++ b/libdiskfs/diskfs.h
@@ -27,9 +27,12 @@
#include <hurd/fshelp.h>
#include <hurd/iohelp.h>
#include <idvec.h>
+#include <features.h>
-#ifndef DISKFS_EXTERN_INLINE
-#define DISKFS_EXTERN_INLINE extern inline
+#ifdef DISKFS_DEFINE_EXTERN_INLINE
+#define DISKFS_EXTERN_INLINE
+#else
+#define DISKFS_EXTERN_INLINE __extern_inline
#endif
/* Each user port referring to a file points to one of these
@@ -781,6 +784,12 @@ error_t diskfs_start_protid (struct peropen *po, struct protid **cred);
the user to install is USER. */
void diskfs_finish_protid (struct protid *cred, struct iouser *user);
+extern struct protid * diskfs_begin_using_protid_port (file_t port);
+
+extern void diskfs_end_using_protid_port (struct protid *cred);
+
+#if defined(__USE_EXTERN_INLINES) || defined(DISKFS_DEFINE_EXTERN_INLINE)
+
/* Called by MiG to translate ports into struct protid *.
fsmutations.h arranges for this to happen for the io and
fs interfaces. */
@@ -800,6 +809,8 @@ diskfs_end_using_protid_port (struct protid *cred)
ports_port_deref (cred);
}
+#endif /* Use extern inlines. */
+
/* Called when a protid CRED has no more references. (Because references\
to protids are maintained by the port management library, this is
installed in the clean routines list.) The ports library will
diff --git a/libdiskfs/extern-inline.c b/libdiskfs/extern-inline.c
index 0abcc4cc..43de88d6 100644
--- a/libdiskfs/extern-inline.c
+++ b/libdiskfs/extern-inline.c
@@ -15,6 +15,6 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-#define DISKFS_EXTERN_INLINE
+#define DISKFS_DEFINE_EXTERN_INLINE
#include "diskfs.h"