#ifndef _LIBCRYPTSETUP_H
#define _LIBCRYPTSETUP_H
+#ifdef __cplusplus
+extern "C" {
+#endif
#include <stdint.h>
#define CRYPT_FLAG_READONLY (1 << 1)
#define CRYPT_FLAG_VERIFY_IF_POSSIBLE (1 << 2)
#define CRYPT_FLAG_VERIFY_ON_DELKEY (1 << 3)
+#define CRYPT_FLAG_NON_EXCLUSIVE_ACCESS (1 << 4)
struct crypt_options {
const char *name;
void crypt_put_options(struct crypt_options *options);
const char *crypt_get_dir(void);
+#ifdef __cplusplus
+}
+#endif
#endif /* _LIBCRYPTSETUP_H */
@../src/cryptsetup -v remove dummy
@echo "success"
+# Non-Exclusive Open test
+ @echo Case: Non-Exclusive Open
+ echo "key0" | ../src/cryptsetup -v --readonly luksOpen $(LOOPDEV) dummy1 2>/dev/null
+# must fail
+ echo "key0" | ../src/cryptsetup -v --readonly luksOpen $(LOOPDEV) dummy2 2>/dev/null || true
+ echo "key0" | ../src/cryptsetup -v --non-exclusive --readonly luksOpen $(LOOPDEV) dummy2 2>/dev/null
+ @../src/cryptsetup -v remove dummy1
+ @../src/cryptsetup -v remove dummy2
+
+
# Key Slot 1 and key material section 1 must change, the rest must not
@echo Case: add key test for key files
@cp $(IMG) $(ORIG_IMG)