Chromium Code Reviews| Index: nss/mozilla/security/nss/lib/freebl/ctr.h |
| =================================================================== |
| --- nss/mozilla/security/nss/lib/freebl/ctr.h (revision 0) |
| +++ nss/mozilla/security/nss/lib/freebl/ctr.h (revision 0) |
| @@ -0,0 +1,50 @@ |
| +/* This Source Code Form is subject to the terms of the Mozilla Public |
| + * License, v. 2.0. If a copy of the MPL was not distributed with this |
| + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
| + |
| +#ifndef CTR_H |
| +#define CTR_H 1 |
| + |
| +#include "blapii.h" |
| + |
| +/* This structure is defined in this header because both ctr.c and gcm.c |
| + * need it. */ |
| +struct CTRContextStr { |
| + freeblCipherFunc cipher; |
| + void *context; |
| + unsigned char counter[MAX_BLOCK_SIZE]; |
| + unsigned char buffer[MAX_BLOCK_SIZE]; |
| + unsigned long counterBits; |
| + unsigned int bufPtr; |
| +}; |
| + |
| +typedef struct CTRContextStr CTRContext; |
| + |
| +SECStatus CTR_InitContext(CTRContext *ctr, void *context, |
| + freeblCipherFunc cipher, const unsigned char *param, |
| + unsigned int blocksize); |
| + |
| +/* |
| + * The context argument is the inner cipher context to use with cipher. The |
| + * CTRContext does not own context. context needs to remain valid for as long |
| + * as the CTRContext is valid. |
| + * |
| + * The cipher argument is a block cipher in the ECB encrypt mode. |
| + * SECStatus cipher(void *cx, unsigned char *output, |
| + * unsigned int *outputLen, unsigned int maxOutputLen, |
| + * const unsigned char *input, unsigned int inputLen, |
| + * unsigned int blocksize); |
|
Ryan Sleevi
2012/09/17 22:57:26
I'm not sure it's necessary to copy the typedef of
wtc
2012/09/18 01:03:40
I have removed the freeblCipherFunc typedef that I
|
| + * inputLen is always a multiple of blocksize and never 0. |
| + * XXX rijndael_encryptECB does not set the *outputLen output argument. |
| + */ |
| +CTRContext * CTR_CreateContext(void *context, freeblCipherFunc cipher, |
| + const unsigned char *param, unsigned int blocksize); |
| + |
| +void CTR_DestroyContext(CTRContext *ctr, PRBool freeit); |
| + |
| +SECStatus CTR_Update(CTRContext *ctr, unsigned char *outbuf, |
| + unsigned int *outlen, unsigned int maxout, |
| + const unsigned char *inbuf, unsigned int inlen, |
| + unsigned int blocksize); |
| + |
| +#endif |
| Property changes on: nss/mozilla/security/nss/lib/freebl/ctr.h |
| ___________________________________________________________________ |
| Added: svn:eol-style |
| + LF |