OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [crypto/] [internal.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
/*
2
 * Cryptographic API.
3
 *
4
 * Copyright (c) 2002 James Morris <jmorris@intercode.com.au>
5
 *
6
 * This program is free software; you can redistribute it and/or modify it
7
 * under the terms of the GNU General Public License as published by the Free
8
 * Software Foundation; either version 2 of the License, or (at your option)
9
 * any later version.
10
 *
11
 */
12
#ifndef _CRYPTO_INTERNAL_H
13
#define _CRYPTO_INTERNAL_H
14
#include <linux/crypto.h>
15
#include <linux/mm.h>
16
#include <linux/highmem.h>
17
#include <linux/init.h>
18
#include <asm/hardirq.h>
19
#include <asm/softirq.h>
20
#include <asm/kmap_types.h>
21
 
22
extern enum km_type crypto_km_types[];
23
 
24
static inline enum km_type crypto_kmap_type(int out)
25
{
26
        return crypto_km_types[(in_softirq() ? 2 : 0) + out];
27
}
28
 
29
static inline void *crypto_kmap(struct page *page, int out)
30
{
31
        return kmap_atomic(page, crypto_kmap_type(out));
32
}
33
 
34
static inline void crypto_kunmap(void *vaddr, int out)
35
{
36
        kunmap_atomic(vaddr, crypto_kmap_type(out));
37
}
38
 
39
static inline void crypto_yield(struct crypto_tfm *tfm)
40
{
41
        if (!in_softirq())
42
                cond_resched();
43
}
44
 
45
static inline void *crypto_tfm_ctx(struct crypto_tfm *tfm)
46
{
47
        return (void *)&tfm[1];
48
}
49
 
50
struct crypto_alg *crypto_alg_lookup(const char *name);
51
 
52
#ifdef CONFIG_KMOD
53
void crypto_alg_autoload(const char *name);
54
struct crypto_alg *crypto_alg_mod_lookup(const char *name);
55
#else
56
static inline struct crypto_alg *crypto_alg_mod_lookup(const char *name)
57
{
58
        return crypto_alg_lookup(name);
59
}
60
#endif
61
 
62
#ifdef CONFIG_CRYPTO_HMAC
63
int crypto_alloc_hmac_block(struct crypto_tfm *tfm);
64
void crypto_free_hmac_block(struct crypto_tfm *tfm);
65
#else
66
static inline int crypto_alloc_hmac_block(struct crypto_tfm *tfm)
67
{
68
        return 0;
69
}
70
 
71
static inline void crypto_free_hmac_block(struct crypto_tfm *tfm)
72
{ }
73
#endif
74
 
75
#ifdef CONFIG_PROC_FS
76
void __init crypto_init_proc(void);
77
#else
78
static inline void crypto_init_proc(void)
79
{ }
80
#endif
81
 
82
int crypto_init_digest_flags(struct crypto_tfm *tfm, u32 flags);
83
int crypto_init_cipher_flags(struct crypto_tfm *tfm, u32 flags);
84
int crypto_init_compress_flags(struct crypto_tfm *tfm, u32 flags);
85
 
86
int crypto_init_digest_ops(struct crypto_tfm *tfm);
87
int crypto_init_cipher_ops(struct crypto_tfm *tfm);
88
int crypto_init_compress_ops(struct crypto_tfm *tfm);
89
 
90
void crypto_exit_digest_ops(struct crypto_tfm *tfm);
91
void crypto_exit_cipher_ops(struct crypto_tfm *tfm);
92
void crypto_exit_compress_ops(struct crypto_tfm *tfm);
93
 
94
#endif  /* _CRYPTO_INTERNAL_H */
95
 

powered by: WebSVN 2.1.0

© copyright 1999-2026 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.