summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/sys/crypto
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/sys/crypto')
-rw-r--r--usr/src/uts/common/sys/crypto/common.h1
-rw-r--r--usr/src/uts/common/sys/crypto/impl.h1
-rw-r--r--usr/src/uts/common/sys/crypto/ioctl.h11
-rw-r--r--usr/src/uts/common/sys/crypto/spi.h4
4 files changed, 15 insertions, 2 deletions
diff --git a/usr/src/uts/common/sys/crypto/common.h b/usr/src/uts/common/sys/crypto/common.h
index 22e8e7c13f..c20ff8239b 100644
--- a/usr/src/uts/common/sys/crypto/common.h
+++ b/usr/src/uts/common/sys/crypto/common.h
@@ -206,6 +206,7 @@ typedef uint32_t crypto_keysize_unit_t;
#define SUN_CKM_BLOWFISH_CBC "CKM_BLOWFISH_CBC"
#define SUN_CKM_BLOWFISH_ECB "CKM_BLOWFISH_ECB"
#define SUN_CKM_AES_CBC "CKM_AES_CBC"
+#define SUN_CKM_AES_CMAC "CKM_AES_CMAC"
#define SUN_CKM_AES_ECB "CKM_AES_ECB"
#define SUN_CKM_AES_CTR "CKM_AES_CTR"
#define SUN_CKM_AES_CCM "CKM_AES_CCM"
diff --git a/usr/src/uts/common/sys/crypto/impl.h b/usr/src/uts/common/sys/crypto/impl.h
index aaeae3409c..7d9c959ecd 100644
--- a/usr/src/uts/common/sys/crypto/impl.h
+++ b/usr/src/uts/common/sys/crypto/impl.h
@@ -510,6 +510,7 @@ typedef struct crypto_session_data {
crypto_ctx_t *sd_digest_ctx;
crypto_ctx_t *sd_encr_ctx;
crypto_ctx_t *sd_decr_ctx;
+ crypto_ctx_t *sd_mac_ctx;
crypto_ctx_t *sd_sign_ctx;
crypto_ctx_t *sd_verify_ctx;
crypto_ctx_t *sd_sign_recover_ctx;
diff --git a/usr/src/uts/common/sys/crypto/ioctl.h b/usr/src/uts/common/sys/crypto/ioctl.h
index 32dddf4394..b7b511768b 100644
--- a/usr/src/uts/common/sys/crypto/ioctl.h
+++ b/usr/src/uts/common/sys/crypto/ioctl.h
@@ -1483,6 +1483,17 @@ typedef struct crypto_get_all_mechanism_info32 {
#define CRYPTO_GET_MECHANISM_LIST CRYPTO(140)
#define CRYPTO_GET_ALL_MECHANISM_INFO CRYPTO(141)
+#define CRYPTO_GET_PROVIDER_BY_MECH CRYPTO(142)
+
+typedef struct crypto_by_mech {
+ int rv;
+ int res;
+ crypto_mech_type_t mech_type;
+ uint_t mech_keylen;
+ crypto_func_group_t mech_fg;
+ crypto_session_id_t session_id;
+} crypto_by_mech_t;
+
#ifdef __cplusplus
}
#endif
diff --git a/usr/src/uts/common/sys/crypto/spi.h b/usr/src/uts/common/sys/crypto/spi.h
index 47741d2876..42294e8dde 100644
--- a/usr/src/uts/common/sys/crypto/spi.h
+++ b/usr/src/uts/common/sys/crypto/spi.h
@@ -588,6 +588,8 @@ typedef union crypto_provider_dev {
dev_info_t *pd_hw; /* for CRYPTO_HW_PROVIDER */
} crypto_provider_dev_t;
+#endif /* _KERNEL */
+
/*
* The mechanism info structure crypto_mech_info_t contains a function group
* bit mask cm_func_group_mask. This field, of type crypto_func_group_t,
@@ -597,8 +599,6 @@ typedef union crypto_provider_dev {
typedef uint32_t crypto_func_group_t;
-#endif /* _KERNEL */
-
#define CRYPTO_FG_ENCRYPT 0x00000001 /* encrypt_init() */
#define CRYPTO_FG_DECRYPT 0x00000002 /* decrypt_init() */
#define CRYPTO_FG_DIGEST 0x00000004 /* digest_init() */