25
26 #include <sys/modctl.h>
27 #include <sys/crypto/common.h>
28 #include <sys/crypto/spi.h>
29 #include <sys/sysmacros.h>
30 #include <sys/systm.h>
31 #include <sys/edonr.h>
32
33 /*
34 * Unlike sha2 or skein, we won't expose edonr via the Kernel Cryptographic
35 * Framework (KCF), because Edon-R is *NOT* suitable for general-purpose
36 * cryptographic use. Users of Edon-R must interface directly to this module.
37 */
38
39 static struct modlmisc modlmisc = {
40 &mod_miscops,
41 "Edon-R Message-Digest Algorithm"
42 };
43
44 static struct modlinkage modlinkage = {
45 MODREV_1, &modlmisc, NULL
46 };
47
48 int
49 _init(void)
50 {
51 int error;
52
53 if ((error = mod_install(&modlinkage)) != 0)
54 return (error);
55
56 return (0);
57 }
58
59 int
60 _info(struct modinfo *modinfop)
61 {
62 return (mod_info(&modlinkage, modinfop));
63 }
|
25
26 #include <sys/modctl.h>
27 #include <sys/crypto/common.h>
28 #include <sys/crypto/spi.h>
29 #include <sys/sysmacros.h>
30 #include <sys/systm.h>
31 #include <sys/edonr.h>
32
33 /*
34 * Unlike sha2 or skein, we won't expose edonr via the Kernel Cryptographic
35 * Framework (KCF), because Edon-R is *NOT* suitable for general-purpose
36 * cryptographic use. Users of Edon-R must interface directly to this module.
37 */
38
39 static struct modlmisc modlmisc = {
40 &mod_miscops,
41 "Edon-R Message-Digest Algorithm"
42 };
43
44 static struct modlinkage modlinkage = {
45 MODREV_1, { &modlmisc, NULL }
46 };
47
48 int
49 _init(void)
50 {
51 int error;
52
53 if ((error = mod_install(&modlinkage)) != 0)
54 return (error);
55
56 return (0);
57 }
58
59 int
60 _info(struct modinfo *modinfop)
61 {
62 return (mod_info(&modlinkage, modinfop));
63 }
|