annotate sha.h @ 849:21624cf4de9e libavutil

AV_COPY16() & AV_ZERO16()
author michael
date Wed, 24 Feb 2010 20:38:31 +0000
parents 848401bb3478
children e34e8d654ded
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
351
47335869d5f7 Add proper license header.
diego
parents: 343
diff changeset
1 /*
47335869d5f7 Add proper license header.
diego
parents: 343
diff changeset
2 * Copyright (C) 2007 Michael Niedermayer <michaelni@gmx.at>
47335869d5f7 Add proper license header.
diego
parents: 343
diff changeset
3 *
47335869d5f7 Add proper license header.
diego
parents: 343
diff changeset
4 * This file is part of FFmpeg.
47335869d5f7 Add proper license header.
diego
parents: 343
diff changeset
5 *
47335869d5f7 Add proper license header.
diego
parents: 343
diff changeset
6 * FFmpeg is free software; you can redistribute it and/or
47335869d5f7 Add proper license header.
diego
parents: 343
diff changeset
7 * modify it under the terms of the GNU Lesser General Public
47335869d5f7 Add proper license header.
diego
parents: 343
diff changeset
8 * License as published by the Free Software Foundation; either
47335869d5f7 Add proper license header.
diego
parents: 343
diff changeset
9 * version 2.1 of the License, or (at your option) any later version.
47335869d5f7 Add proper license header.
diego
parents: 343
diff changeset
10 *
47335869d5f7 Add proper license header.
diego
parents: 343
diff changeset
11 * FFmpeg is distributed in the hope that it will be useful,
47335869d5f7 Add proper license header.
diego
parents: 343
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
47335869d5f7 Add proper license header.
diego
parents: 343
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
47335869d5f7 Add proper license header.
diego
parents: 343
diff changeset
14 * Lesser General Public License for more details.
47335869d5f7 Add proper license header.
diego
parents: 343
diff changeset
15 *
47335869d5f7 Add proper license header.
diego
parents: 343
diff changeset
16 * You should have received a copy of the GNU Lesser General Public
47335869d5f7 Add proper license header.
diego
parents: 343
diff changeset
17 * License along with FFmpeg; if not, write to the Free Software
47335869d5f7 Add proper license header.
diego
parents: 343
diff changeset
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
47335869d5f7 Add proper license header.
diego
parents: 343
diff changeset
19 */
47335869d5f7 Add proper license header.
diego
parents: 343
diff changeset
20
752
1e5bfdf9054d Prepare SHA code to handle SHA-2 as well. For now rename files and functions
kostya
parents: 747
diff changeset
21 #ifndef AVUTIL_SHA_H
1e5bfdf9054d Prepare SHA code to handle SHA-2 as well. For now rename files and functions
kostya
parents: 747
diff changeset
22 #define AVUTIL_SHA_H
288
c82b7b95e69d simple SHA-1 implementation
michael
parents:
diff changeset
23
343
f21d1907d47c include all prerequisites in header files
mru
parents: 288
diff changeset
24 #include <stdint.h>
f21d1907d47c include all prerequisites in header files
mru
parents: 288
diff changeset
25
752
1e5bfdf9054d Prepare SHA code to handle SHA-2 as well. For now rename files and functions
kostya
parents: 747
diff changeset
26 extern const int av_sha_size;
288
c82b7b95e69d simple SHA-1 implementation
michael
parents:
diff changeset
27
752
1e5bfdf9054d Prepare SHA code to handle SHA-2 as well. For now rename files and functions
kostya
parents: 747
diff changeset
28 struct AVSHA;
288
c82b7b95e69d simple SHA-1 implementation
michael
parents:
diff changeset
29
747
860d74503de2 Document SHA-1 functions and structures
kostya
parents: 567
diff changeset
30 /**
755
848401bb3478 Add SHA-2 hashing
kostya
parents: 752
diff changeset
31 * Initializes SHA-1 or SHA-2 hashing.
747
860d74503de2 Document SHA-1 functions and structures
kostya
parents: 567
diff changeset
32 *
860d74503de2 Document SHA-1 functions and structures
kostya
parents: 567
diff changeset
33 * @param context pointer to the function context (of size av_sha_size)
752
1e5bfdf9054d Prepare SHA code to handle SHA-2 as well. For now rename files and functions
kostya
parents: 747
diff changeset
34 * @param bits number of bits in digest (SHA-1 - 160 bits, SHA-2 224 or 256 bits)
1e5bfdf9054d Prepare SHA code to handle SHA-2 as well. For now rename files and functions
kostya
parents: 747
diff changeset
35 * @return zero if initialization succeeded, -1 otherwise
747
860d74503de2 Document SHA-1 functions and structures
kostya
parents: 567
diff changeset
36 */
752
1e5bfdf9054d Prepare SHA code to handle SHA-2 as well. For now rename files and functions
kostya
parents: 747
diff changeset
37 int av_sha_init(struct AVSHA* context, int bits);
747
860d74503de2 Document SHA-1 functions and structures
kostya
parents: 567
diff changeset
38
860d74503de2 Document SHA-1 functions and structures
kostya
parents: 567
diff changeset
39 /**
860d74503de2 Document SHA-1 functions and structures
kostya
parents: 567
diff changeset
40 * Updates hash value.
860d74503de2 Document SHA-1 functions and structures
kostya
parents: 567
diff changeset
41 *
860d74503de2 Document SHA-1 functions and structures
kostya
parents: 567
diff changeset
42 * @param context hash function context
860d74503de2 Document SHA-1 functions and structures
kostya
parents: 567
diff changeset
43 * @param data input data to update hash with
860d74503de2 Document SHA-1 functions and structures
kostya
parents: 567
diff changeset
44 * @param len input data length
860d74503de2 Document SHA-1 functions and structures
kostya
parents: 567
diff changeset
45 */
752
1e5bfdf9054d Prepare SHA code to handle SHA-2 as well. For now rename files and functions
kostya
parents: 747
diff changeset
46 void av_sha_update(struct AVSHA* context, const uint8_t* data, unsigned int len);
747
860d74503de2 Document SHA-1 functions and structures
kostya
parents: 567
diff changeset
47
860d74503de2 Document SHA-1 functions and structures
kostya
parents: 567
diff changeset
48 /**
860d74503de2 Document SHA-1 functions and structures
kostya
parents: 567
diff changeset
49 * Finishes hashing and output digest value.
860d74503de2 Document SHA-1 functions and structures
kostya
parents: 567
diff changeset
50 *
860d74503de2 Document SHA-1 functions and structures
kostya
parents: 567
diff changeset
51 * @param context hash function context
860d74503de2 Document SHA-1 functions and structures
kostya
parents: 567
diff changeset
52 * @param digest buffer where output digest value is stored
860d74503de2 Document SHA-1 functions and structures
kostya
parents: 567
diff changeset
53 */
752
1e5bfdf9054d Prepare SHA code to handle SHA-2 as well. For now rename files and functions
kostya
parents: 747
diff changeset
54 void av_sha_final(struct AVSHA* context, uint8_t *digest);
392
d0f3bb6e367e Add FFMPEG_ prefix to all multiple inclusion guards.
diego
parents: 351
diff changeset
55
752
1e5bfdf9054d Prepare SHA code to handle SHA-2 as well. For now rename files and functions
kostya
parents: 747
diff changeset
56 #endif /* AVUTIL_SHA_H */