diff options
Diffstat (limited to 'libstore')
-rw-r--r-- | libstore/store.h | 14 | ||||
-rw-r--r-- | libstore/xinl.c | 2 |
2 files changed, 12 insertions, 4 deletions
diff --git a/libstore/store.h b/libstore/store.h index fd250448..ae334a1d 100644 --- a/libstore/store.h +++ b/libstore/store.h @@ -33,11 +33,13 @@ #include <mach.h> #include <device/device.h> #include <hurd/hurd_types.h> +#include <features.h> -#ifndef STORE_EI -#define STORE_EI extern inline +#ifdef STORE_DEFINE_EI +#define STORE_EI +#else +#define STORE_EI __extern_inline #endif - /* Type for addresses inside the store. */ typedef off64_t store_offset_t; @@ -270,6 +272,10 @@ error_t store_set_child_flags (struct store *store, int flags); STORE's flags. */ error_t store_clear_child_flags (struct store *store, int flags); +extern int store_is_securely_returnable (struct store *store, int open_flags); + +#if defined(__USE_EXTERN_INLINES) || defined(STORE_DEFINE_EI) + /* Returns true if STORE can safely be returned to a user who has accessed it via a node using OPEN_FLAGS, without compromising security. */ STORE_EI int @@ -283,6 +289,8 @@ store_is_securely_returnable (struct store *store, int open_flags) || (flags & STORE_HARD_READONLY))); } +#endif /* Use extern inlines. */ + /* Fills in the values of the various fields in STORE that are derivable from the set of runs & the block size. */ void _store_derive (struct store *store); diff --git a/libstore/xinl.c b/libstore/xinl.c index a603d621..90242212 100644 --- a/libstore/xinl.c +++ b/libstore/xinl.c @@ -1,2 +1,2 @@ -#define STORE_EI +#define STORE_DEFINE_EI #include "store.h" |