aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/atm_suni.h
blob: 84f3aab54468dfd0101ea80cea22ae0e56d73b13 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
/* atm_suni.h - Driver-specific declarations of the SUNI driver (for use by
		driver-specific utilities) */

/* Written 1998,2000 by Werner Almesberger, EPFL ICA */


#ifndef LINUX_ATM_SUNI_H
#define LINUX_ATM_SUNI_H

/* everything obsoleted */

#endif
author Herbert Xu <herbert@gondor.apana.org.au> 2006-09-20 21:35:17 -0400 committer Herbert Xu <herbert@gondor.apana.org.au> 2006-09-20 21:35:17 -0400 [CRYPTO] api: Allow algorithm lookup by type' href='/cgit/cgit.cgi/litmus-rt-imx6.git/commit/crypto/internal.h?id=492e2b63eb10c28f4f0b694264d74a8755cd1be0'>492e2b63eb10
2825982d9d66

5cb1454b862a

2825982d9d66
5cb1454b862a
1da177e4c3f4

cce9e06d100d
1da177e4c3f4


cce9e06d100d

1da177e4c3f4

f1ddcaf3393b
fbdae9f3e7fb
ee7564166da9







fbdae9f3e7fb

f1ddcaf3393b
fbdae9f3e7fb
f1ddcaf3393b
fbdae9f3e7fb

f1ddcaf3393b
fbdae9f3e7fb



2825982d9d66
c51b6c8102a8
492e2b63eb10
2825982d9d66
1da177e4c3f4
004a403c2e95
1da177e4c3f4






73d3864a4823
b9c55aa47559

492e2b63eb10
73d3864a4823
2825982d9d66
6bfd48096ff8
27d2a3300755

7b0bac64cd5b

6bfd48096ff8
4cc7720cd165


2825982d9d66

73d3864a4823
2825982d9d66
da7f033ddc9f


6bfd48096ff8





4cc7720cd165









2825982d9d66




6bfd48096ff8









73d3864a4823
2825982d9d66
73d3864a4823
2825982d9d66

1da177e4c3f4

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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162



                                                             
                                                              








                                                                             

                          
                             



                            
                       
                         
                         
                           
                        
                       
 





                         








                                   


                       



                                     
                 

  

                                          
                                                  
 

                                   
                                   


                                         

                                         

      
                                                                        
 







                                                                        

 
                                                                        
 
                                

 
                                                                          



                                
                                                          
                                                                           
                                                                               
 
                                                   
                                                         






                                                      
                                                                                

                                                                              
                                                               
                                                  
 
                                              

                                                                       

                                                                         
 


                                                           

                                                          
                                                      
 


                              





                                                                      









                                                                




                                                          









                                                                     
                                                            
 
                                                            

 

                                
/*
 * Cryptographic API.
 *
 * Copyright (c) 2002 James Morris <jmorris@intercode.com.au>
 * Copyright (c) 2005 Herbert Xu <herbert@gondor.apana.org.au>
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License as published by the Free
 * Software Foundation; either version 2 of the License, or (at your option) 
 * any later version.
 *
 */
#ifndef _CRYPTO_INTERNAL_H
#define _CRYPTO_INTERNAL_H

#include <crypto/algapi.h>
#include <linux/completion.h>
#include <linux/mm.h>
#include <linux/highmem.h>
#include <linux/interrupt.h>
#include <linux/init.h>
#include <linux/list.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/notifier.h>
#include <linux/rwsem.h>
#include <linux/slab.h>

#ifdef CONFIG_CRYPTO_FIPS
extern int fips_enabled;
#else
#define fips_enabled 0
#endif

/* Crypto notification events. */
enum {
	CRYPTO_MSG_ALG_REQUEST,
	CRYPTO_MSG_ALG_REGISTER,
	CRYPTO_MSG_ALG_UNREGISTER,
	CRYPTO_MSG_TMPL_REGISTER,
	CRYPTO_MSG_TMPL_UNREGISTER,
};

struct crypto_instance;
struct crypto_template;

struct crypto_larval {
	struct crypto_alg alg;
	struct crypto_alg *adult;
	struct completion completion;
	u32 mask;
};

extern struct list_head crypto_alg_list;
extern struct rw_semaphore crypto_alg_sem;
extern struct blocking_notifier_head crypto_chain;

#ifdef CONFIG_PROC_FS
void __init crypto_init_proc(void);
void __exit crypto_exit_proc(void);
#else
static inline void crypto_init_proc(void)
{ }
static inline void crypto_exit_proc(void)
{ }
#endif

static inline unsigned int crypto_digest_ctxsize(struct crypto_alg *alg)
{
	unsigned int len = alg->cra_ctxsize;

	if (alg->cra_alignmask) {
		len = ALIGN(len, (unsigned long)alg->cra_alignmask + 1);
		len += alg->cra_digest.dia_digestsize;
	}

	return len;
}

static inline unsigned int crypto_cipher_ctxsize(struct crypto_alg *alg)
{
	return alg->cra_ctxsize;
}

static inline unsigned int crypto_compress_ctxsize(struct crypto_alg *alg)
{
	return alg->cra_ctxsize;
}

struct crypto_alg *crypto_mod_get(struct crypto_alg *alg);
struct crypto_alg *crypto_alg_lookup(const char *name, u32 type, u32 mask);
struct crypto_alg *crypto_alg_mod_lookup(const char *name, u32 type, u32 mask);

int crypto_init_digest_ops(struct crypto_tfm *tfm);
int crypto_init_digest_ops_async(struct crypto_tfm *tfm);
int crypto_init_cipher_ops(struct crypto_tfm *tfm);
int crypto_init_compress_ops(struct crypto_tfm *tfm);

void crypto_exit_digest_ops(struct crypto_tfm *tfm);
void crypto_exit_cipher_ops(struct crypto_tfm *tfm);
void crypto_exit_compress_ops(struct crypto_tfm *tfm);

struct crypto_larval *crypto_larval_alloc(const char *name, u32 type, u32 mask);
void crypto_larval_kill(struct crypto_alg *alg);
struct crypto_alg *crypto_larval_lookup(const char *name, u32 type, u32 mask);
void crypto_larval_error(const char *name, u32 type, u32 mask);
void crypto_alg_tested(const char *name, int err);

void crypto_shoot_alg(struct crypto_alg *alg);