OpenSSL
1.0.1c
Main Page
Classes
Files
File List
File Members
All
Classes
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
crypto
store
str_meth.c
Go to the documentation of this file.
1
/* crypto/store/str_meth.c -*- mode:C; c-file-style: "eay" -*- */
2
/* Written by Richard Levitte (
[email protected]
) for the OpenSSL
3
* project 2003.
4
*/
5
/* ====================================================================
6
* Copyright (c) 2003 The OpenSSL Project. All rights reserved.
7
*
8
* Redistribution and use in source and binary forms, with or without
9
* modification, are permitted provided that the following conditions
10
* are met:
11
*
12
* 1. Redistributions of source code must retain the above copyright
13
* notice, this list of conditions and the following disclaimer.
14
*
15
* 2. Redistributions in binary form must reproduce the above copyright
16
* notice, this list of conditions and the following disclaimer in
17
* the documentation and/or other materials provided with the
18
* distribution.
19
*
20
* 3. All advertising materials mentioning features or use of this
21
* software must display the following acknowledgment:
22
* "This product includes software developed by the OpenSSL Project
23
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
24
*
25
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
26
* endorse or promote products derived from this software without
27
* prior written permission. For written permission, please contact
28
*
[email protected]
.
29
*
30
* 5. Products derived from this software may not be called "OpenSSL"
31
* nor may "OpenSSL" appear in their names without prior written
32
* permission of the OpenSSL Project.
33
*
34
* 6. Redistributions of any form whatsoever must retain the following
35
* acknowledgment:
36
* "This product includes software developed by the OpenSSL Project
37
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
38
*
39
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
40
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
41
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
42
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
43
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
44
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
45
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
46
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
47
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
48
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
49
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
50
* OF THE POSSIBILITY OF SUCH DAMAGE.
51
* ====================================================================
52
*
53
* This product includes cryptographic software written by Eric Young
54
* (
[email protected]
). This product includes software written by Tim
55
* Hudson (
[email protected]
).
56
*
57
*/
58
59
#include <string.h>
60
#include <
openssl/buffer.h
>
61
#include "
str_locl.h
"
62
63
STORE_METHOD
*
STORE_create_method
(
char
*name)
64
{
65
STORE_METHOD
*store_method = (
STORE_METHOD
*)
OPENSSL_malloc
(
sizeof
(
STORE_METHOD
));
66
67
if
(store_method)
68
{
69
memset(store_method, 0,
sizeof
(*store_method));
70
store_method->
name
=
BUF_strdup
(name);
71
}
72
return
store_method;
73
}
74
75
/* BIG FSCKING WARNING!!!! If you use this on a statically allocated method
76
(that is, it hasn't been allocated using STORE_create_method(), you deserve
77
anything Murphy can throw at you and more! You have been warned. */
78
void
STORE_destroy_method
(
STORE_METHOD
*store_method)
79
{
80
if
(!store_method)
return
;
81
OPENSSL_free
(store_method->
name
);
82
store_method->
name
= NULL;
83
OPENSSL_free
(store_method);
84
}
85
86
int
STORE_method_set_initialise_function
(
STORE_METHOD
*sm,
STORE_INITIALISE_FUNC_PTR
init_f)
87
{
88
sm->
init
= init_f;
89
return
1;
90
}
91
92
int
STORE_method_set_cleanup_function
(
STORE_METHOD
*sm,
STORE_CLEANUP_FUNC_PTR
clean_f)
93
{
94
sm->
clean
= clean_f;
95
return
1;
96
}
97
98
int
STORE_method_set_generate_function
(
STORE_METHOD
*sm,
STORE_GENERATE_OBJECT_FUNC_PTR
generate_f)
99
{
100
sm->
generate_object
= generate_f;
101
return
1;
102
}
103
104
int
STORE_method_set_get_function
(
STORE_METHOD
*sm,
STORE_GET_OBJECT_FUNC_PTR
get_f)
105
{
106
sm->
get_object
= get_f;
107
return
1;
108
}
109
110
int
STORE_method_set_store_function
(
STORE_METHOD
*sm,
STORE_STORE_OBJECT_FUNC_PTR
store_f)
111
{
112
sm->
store_object
= store_f;
113
return
1;
114
}
115
116
int
STORE_method_set_modify_function
(
STORE_METHOD
*sm,
STORE_MODIFY_OBJECT_FUNC_PTR
modify_f)
117
{
118
sm->
modify_object
= modify_f;
119
return
1;
120
}
121
122
int
STORE_method_set_revoke_function
(
STORE_METHOD
*sm,
STORE_HANDLE_OBJECT_FUNC_PTR
revoke_f)
123
{
124
sm->
revoke_object
= revoke_f;
125
return
1;
126
}
127
128
int
STORE_method_set_delete_function
(
STORE_METHOD
*sm,
STORE_HANDLE_OBJECT_FUNC_PTR
delete_f)
129
{
130
sm->
delete_object
= delete_f;
131
return
1;
132
}
133
134
int
STORE_method_set_list_start_function
(
STORE_METHOD
*sm,
STORE_START_OBJECT_FUNC_PTR
list_start_f)
135
{
136
sm->
list_object_start
= list_start_f;
137
return
1;
138
}
139
140
int
STORE_method_set_list_next_function
(
STORE_METHOD
*sm,
STORE_NEXT_OBJECT_FUNC_PTR
list_next_f)
141
{
142
sm->
list_object_next
= list_next_f;
143
return
1;
144
}
145
146
int
STORE_method_set_list_end_function
(
STORE_METHOD
*sm,
STORE_END_OBJECT_FUNC_PTR
list_end_f)
147
{
148
sm->
list_object_end
= list_end_f;
149
return
1;
150
}
151
152
int
STORE_method_set_update_store_function
(
STORE_METHOD
*sm,
STORE_GENERIC_FUNC_PTR
update_f)
153
{
154
sm->
update_store
= update_f;
155
return
1;
156
}
157
158
int
STORE_method_set_lock_store_function
(
STORE_METHOD
*sm,
STORE_GENERIC_FUNC_PTR
lock_f)
159
{
160
sm->
lock_store
= lock_f;
161
return
1;
162
}
163
164
int
STORE_method_set_unlock_store_function
(
STORE_METHOD
*sm,
STORE_GENERIC_FUNC_PTR
unlock_f)
165
{
166
sm->
unlock_store
= unlock_f;
167
return
1;
168
}
169
170
int
STORE_method_set_ctrl_function
(
STORE_METHOD
*sm,
STORE_CTRL_FUNC_PTR
ctrl_f)
171
{
172
sm->
ctrl
= ctrl_f;
173
return
1;
174
}
175
176
STORE_INITIALISE_FUNC_PTR
STORE_method_get_initialise_function
(
STORE_METHOD
*sm)
177
{
178
return
sm->
init
;
179
}
180
181
STORE_CLEANUP_FUNC_PTR
STORE_method_get_cleanup_function
(
STORE_METHOD
*sm)
182
{
183
return
sm->
clean
;
184
}
185
186
STORE_GENERATE_OBJECT_FUNC_PTR
STORE_method_get_generate_function
(
STORE_METHOD
*sm)
187
{
188
return
sm->
generate_object
;
189
}
190
191
STORE_GET_OBJECT_FUNC_PTR
STORE_method_get_get_function
(
STORE_METHOD
*sm)
192
{
193
return
sm->
get_object
;
194
}
195
196
STORE_STORE_OBJECT_FUNC_PTR
STORE_method_get_store_function
(
STORE_METHOD
*sm)
197
{
198
return
sm->
store_object
;
199
}
200
201
STORE_MODIFY_OBJECT_FUNC_PTR
STORE_method_get_modify_function
(
STORE_METHOD
*sm)
202
{
203
return
sm->
modify_object
;
204
}
205
206
STORE_HANDLE_OBJECT_FUNC_PTR
STORE_method_get_revoke_function
(
STORE_METHOD
*sm)
207
{
208
return
sm->
revoke_object
;
209
}
210
211
STORE_HANDLE_OBJECT_FUNC_PTR
STORE_method_get_delete_function
(
STORE_METHOD
*sm)
212
{
213
return
sm->
delete_object
;
214
}
215
216
STORE_START_OBJECT_FUNC_PTR
STORE_method_get_list_start_function
(
STORE_METHOD
*sm)
217
{
218
return
sm->
list_object_start
;
219
}
220
221
STORE_NEXT_OBJECT_FUNC_PTR
STORE_method_get_list_next_function
(
STORE_METHOD
*sm)
222
{
223
return
sm->
list_object_next
;
224
}
225
226
STORE_END_OBJECT_FUNC_PTR
STORE_method_get_list_end_function
(
STORE_METHOD
*sm)
227
{
228
return
sm->
list_object_end
;
229
}
230
231
STORE_GENERIC_FUNC_PTR
STORE_method_get_update_store_function
(
STORE_METHOD
*sm)
232
{
233
return
sm->
update_store
;
234
}
235
236
STORE_GENERIC_FUNC_PTR
STORE_method_get_lock_store_function
(
STORE_METHOD
*sm)
237
{
238
return
sm->
lock_store
;
239
}
240
241
STORE_GENERIC_FUNC_PTR
STORE_method_get_unlock_store_function
(
STORE_METHOD
*sm)
242
{
243
return
sm->
unlock_store
;
244
}
245
246
STORE_CTRL_FUNC_PTR
STORE_method_get_ctrl_function
(
STORE_METHOD
*sm)
247
{
248
return
sm->
ctrl
;
249
}
250
Generated on Thu Jan 10 2013 09:53:39 for OpenSSL by
1.8.2