Commit 19f7e5e2 authored by Ben Laurie's avatar Ben Laurie
Browse files

Missing declarations, no assembler in PEDANTIC.

parent bb92e2c8
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -83,7 +83,7 @@ typedef struct { u64 hi,lo; } u128;
# undef STRICT_ALIGNMENT
#endif

#if defined(__GNUC__) && __GNUC__>=2
#if defined(__GNUC__) && __GNUC__>=2 && !defined(PEDANTIC)
# if defined(__x86_64) || defined(__x86_64__)
#  define BSWAP8(x) ({	u64 ret=(x);			\
			asm volatile ("bswapq %0"	\
@@ -91,7 +91,7 @@ typedef struct { u64 hi,lo; } u128;
#  define BSWAP4(x) ({	u32 ret=(x);			\
			asm volatile ("bswapl %0"	\
			: "+r"(ret));	ret;		})
# elif defined(__i386) || defined(__i386__)
# elif (defined(__i386) || defined(__i386__)) && !defined(PEDANTIC)
#  define BSWAP8(x) ({	u32 lo=(u64)(x)>>32,hi=(x);	\
			asm volatile ("bswapl %0; bswapl %1"	\
			: "+r"(hi),"+r"(lo));		\
@@ -565,7 +565,7 @@ static void gcm_gmult_1bit(u64 Xi[2],const u64 H[2])

#endif

typedef struct {
struct gcm128_context {
	/* Following 6 names follow names in GCM specification */
	union { u64 u[2]; u32 d[4]; u8 c[16]; }	Yi,EKi,EK0,
						Xi,H,
@@ -579,7 +579,7 @@ typedef struct {
	unsigned int res, ctr;
	block128_f block;
	void *key;
} GCM128_CONTEXT;
};

void CRYPTO_gcm128_init(GCM128_CONTEXT *ctx,void *key,block128_f block)
{
+15 −0
Original line number Diff line number Diff line
@@ -70,3 +70,18 @@ size_t CRYPTO_nistcts128_decrypt_block(const unsigned char *in, unsigned char *o
size_t CRYPTO_nistcts128_decrypt(const unsigned char *in, unsigned char *out,
			size_t len, const void *key,
			unsigned char ivec[16], cbc128_f cbc);

typedef struct gcm128_context GCM128_CONTEXT;

void CRYPTO_gcm128_init(GCM128_CONTEXT *ctx, void *key, block128_f block);
void CRYPTO_gcm128_setiv(GCM128_CONTEXT *ctx, const unsigned char *iv,
			 size_t len);
void CRYPTO_gcm128_aad(GCM128_CONTEXT *ctx, const unsigned char *aad,
		       size_t len);
void CRYPTO_gcm128_encrypt(GCM128_CONTEXT *ctx,
			   const unsigned char *in, unsigned char *out,
			   size_t len);
void CRYPTO_gcm128_decrypt(GCM128_CONTEXT *ctx,
			   const unsigned char *in, unsigned char *out,
			   size_t len);
void CRYPTO_gcm128_finish(GCM128_CONTEXT *ctx);