FFmpeg
ripemd.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2007 Michael Niedermayer <michaelni@gmx.at>
3  * Copyright (C) 2013 James Almer <jamrial@gmail.com>
4  *
5  * This file is part of FFmpeg.
6  *
7  * FFmpeg is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * FFmpeg is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with FFmpeg; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20  */
21 
22 /**
23  * @file
24  * @ingroup lavu_ripemd
25  * Public header for RIPEMD hash function implementation.
26  */
27 
28 #ifndef AVUTIL_RIPEMD_H
29 #define AVUTIL_RIPEMD_H
30 
31 #include <stddef.h>
32 #include <stdint.h>
33 
34 #include "attributes.h"
35 #include "version.h"
36 
37 /**
38  * @defgroup lavu_ripemd RIPEMD
39  * @ingroup lavu_hash
40  * RIPEMD hash function implementation.
41  *
42  * @{
43  */
44 
45 extern const int av_ripemd_size;
46 
47 struct AVRIPEMD;
48 
49 /**
50  * Allocate an AVRIPEMD context.
51  */
52 struct AVRIPEMD *av_ripemd_alloc(void);
53 
54 /**
55  * Initialize RIPEMD hashing.
56  *
57  * @param context pointer to the function context (of size av_ripemd_size)
58  * @param bits number of bits in digest (128, 160, 256 or 320 bits)
59  * @return zero if initialization succeeded, -1 otherwise
60  */
61 int av_ripemd_init(struct AVRIPEMD* context, int bits);
62 
63 /**
64  * Update hash value.
65  *
66  * @param context hash function context
67  * @param data input data to update hash with
68  * @param len input data length
69  */
70 #if FF_API_CRYPTO_SIZE_T
71 void av_ripemd_update(struct AVRIPEMD* context, const uint8_t* data, unsigned int len);
72 #else
73 void av_ripemd_update(struct AVRIPEMD* context, const uint8_t* data, size_t len);
74 #endif
75 
76 /**
77  * Finish hashing and output digest value.
78  *
79  * @param context hash function context
80  * @param digest buffer where output digest value is stored
81  */
82 void av_ripemd_final(struct AVRIPEMD* context, uint8_t *digest);
83 
84 /**
85  * @}
86  */
87 
88 #endif /* AVUTIL_RIPEMD_H */
av_ripemd_alloc
struct AVRIPEMD * av_ripemd_alloc(void)
Allocate an AVRIPEMD context.
Definition: ripemd.c:44
data
const char data[16]
Definition: mxf.c:142
av_ripemd_update
void av_ripemd_update(struct AVRIPEMD *context, const uint8_t *data, unsigned int len)
Update hash value.
Definition: ripemd.c:515
bits
uint8_t bits
Definition: vp3data.h:141
context
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf default minimum maximum flags name is the option keep it simple and lowercase description are in without and describe what they for example set the foo of the bar offset is the offset of the field in your context
Definition: writing_filters.txt:91
av_ripemd_init
int av_ripemd_init(struct AVRIPEMD *context, int bits)
Initialize RIPEMD hashing.
Definition: ripemd.c:464
av_ripemd_final
void av_ripemd_final(struct AVRIPEMD *context, uint8_t *digest)
Finish hashing and output digest value.
Definition: ripemd.c:545
attributes.h
AVRIPEMD
hash context
Definition: ripemd.c:33
uint8_t
uint8_t
Definition: audio_convert.c:194
len
int len
Definition: vorbis_enc_data.h:452
version.h
av_ripemd_size
const int av_ripemd_size
Definition: ripemd.c:42