summaryrefslogtreecommitdiff
path: root/src/chksum.h
blob: 479923a476899206120221d597d45a5d0f3a25cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/*
 * Copyright (c) 2007-2012, Novell Inc.
 *
 * This program is licensed under the BSD license, read LICENSE.BSD
 * for further information
 */

#ifndef LIBSOLV_CHKSUM_H
#define LIBSOLV_CHKSUM_H

#include "pool.h"

#ifdef __cplusplus
extern "C" {
#endif

struct _Chksum;
typedef struct _Chksum Chksum;

Chksum *solv_chksum_create(Id type);
Chksum *solv_chksum_create_clone(Chksum *chk);
Chksum *solv_chksum_create_from_bin(Id type, const unsigned char *buf);
void solv_chksum_add(Chksum *chk, const void *data, int len);
Id solv_chksum_get_type(Chksum *chk);
int solv_chksum_isfinished(Chksum *chk);
const unsigned char *solv_chksum_get(Chksum *chk, int *lenp);
void *solv_chksum_free(Chksum *chk, unsigned char *cp);
const char *solv_chksum_type2str(Id type);
Id solv_chksum_str2type(const char *str);
int solv_chksum_len(Id type);
int solv_chksum_cmp(Chksum *chk, Chksum *chk2);

#ifdef LIBSOLV_INTERNAL

#define case_CHKSUM_TYPES \
    case REPOKEY_TYPE_MD5: \
    case REPOKEY_TYPE_SHA1: \
    case REPOKEY_TYPE_SHA224: \
    case REPOKEY_TYPE_SHA256: \
    case REPOKEY_TYPE_SHA384: \
    case REPOKEY_TYPE_SHA512

#endif

#ifdef __cplusplus
}
#endif

#endif /* LIBSOLV_CHKSUM_H */