Commit b1de640f authored by Andy Polyakov's avatar Andy Polyakov
Browse files

evp/evp.h: add multi-block contstants and parameter type.

parent 61ba602a
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -364,6 +364,7 @@ struct evp_cipher_st
 */
#define 	EVP_CIPH_FLAG_CUSTOM_CIPHER	0x100000
#define		EVP_CIPH_FLAG_AEAD_CIPHER	0x200000
#define		EVP_CIPH_FLAG_TLS1_1_MULTIBLOCK	0x400000

/* Cipher context flag to indicate we can handle
 * wrap mode: if allowed in older applications it could
@@ -403,6 +404,17 @@ struct evp_cipher_st
/* Set the GCM invocation field, decrypt only */
#define		EVP_CTRL_GCM_SET_IV_INV		0x18

#define		EVP_CTRL_TLS1_1_MULTIBLOCK_AAD	0x19
#define		EVP_CTRL_TLS1_1_MULTIBLOCK_ENCRYPT	0x1a
#define		EVP_CTRL_TLS1_1_MULTIBLOCK_DECRYPT	0x1b

typedef struct {
	unsigned char *out;
	const unsigned char *inp;
	size_t len;
	unsigned int interleave;
} EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM;

/* GCM TLS constants */
/* Length of fixed part of IV derived from PRF */
#define EVP_GCM_TLS_FIXED_IV_LEN			4