blob: a5c55c345e42d23e980256f458188ed9ed2a7889 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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;
}
|