summaryrefslogtreecommitdiffstats
path: root/userspace/ncrypto_masterkey.c
diff options
context:
space:
mode:
authorJan Chadima <jchadima@redhat.com>2010-08-02 10:56:34 +0200
committerMiloslav Trmač <mitr@redhat.com>2010-08-23 20:01:58 +0200
commit60e1158295f152cbe0d7d983dfd98d94b73314c1 (patch)
tree9afbc81b60fca86bf38562c003833bc8538e0aad /userspace/ncrypto_masterkey.c
parenta7befd9b8fba6f6d777f7d8436154dc62f1fa652 (diff)
Initial userspace library version
Diffstat (limited to 'userspace/ncrypto_masterkey.c')
-rw-r--r--userspace/ncrypto_masterkey.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/userspace/ncrypto_masterkey.c b/userspace/ncrypto_masterkey.c
new file mode 100644
index 0000000..a5c55c3
--- /dev/null
+++ b/userspace/ncrypto_masterkey.c
@@ -0,0 +1,35 @@
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <string.h>
+#include <errno.h>
+#include "../ncr.h"
+#include "ncrypto.h"
+
+extern int __ncr_file_descriptor;
+
+int
+ncr_masterkey_set(void *key, size_t key_size)
+{
+ struct ncr_master_key_st io;
+ memset(&io, 0, sizeof(io));
+
+ if (!key || !key_size) {
+ errno = EINVAL;
+ return -1;
+ }
+
+ io.key = key = key;
+ io.key_size = key_size;
+
+ if (__ncr_file_descriptor < 0) {
+ errno = EBADF;
+ return -1;
+ }
+
+ if (ioctl(__ncr_file_descriptor, NCRIO_MASTER_KEY_SET, &io) < 0)
+ return -1;
+
+ return 0;
+}
+