pkcs11-helper
Main Page
Related Pages
Modules
Classes
Files
Examples
File List
File Members
pkcs11-helper-1.0
pkcs11h-token.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2005-2018 Alon Bar-Lev <alon.barlev@gmail.com>
3
*
4
* This software is available to you under a choice of one of two
5
* licenses. You may choose to be licensed under the terms of the GNU
6
* General Public License (GPL) Version 2, or the BSD license.
7
*
8
* GNU General Public License (GPL) Version 2
9
* ===========================================
10
* This program is free software; you can redistribute it and/or modify
11
* it under the terms of the GNU General Public License version 2
12
* as published by the Free Software Foundation.
13
*
14
* This program is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU General Public License for more details.
18
*
19
* You should have received a copy of the GNU General Public License
20
* along with this program (see the file COPYING.GPL included with this
21
* distribution); if not, write to the Free Software Foundation, Inc.,
22
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23
*
24
* BSD License
25
* ============
26
* Redistribution and use in source and binary forms, with or without
27
* modification, are permitted provided that the following conditions are met:
28
*
29
* o Redistributions of source code must retain the above copyright notice,
30
* this list of conditions and the following disclaimer.
31
* o Redistributions in binary form must reproduce the above copyright
32
* notice, this list of conditions and the following disclaimer in the
33
* documentation and/or other materials provided with the distribution.
34
* o Neither the name of the Alon Bar-Lev nor the names of its
35
* contributors may be used to endorse or promote products derived from
36
* this software without specific prior written permission.
37
*
38
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
39
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
40
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
41
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
42
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
43
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
44
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
45
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
46
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
47
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
48
* POSSIBILITY OF SUCH DAMAGE.
49
*/
50
66
#ifndef __PKCS11H_TOKEN_H
67
#define __PKCS11H_TOKEN_H
68
69
#include <
pkcs11-helper-1.0/pkcs11h-core.h
>
70
71
#if defined(__cplusplus)
72
extern
"C"
{
73
#endif
74
75
struct
pkcs11h_token_id_list_s
;
76
80
typedef
struct
pkcs11h_token_id_list_s
*
pkcs11h_token_id_list_t
;
81
85
struct
pkcs11h_token_id_list_s
{
87
pkcs11h_token_id_list_t
next
;
89
pkcs11h_token_id_t
token_id
;
90
};
91
97
CK_RV
98
pkcs11h_token_freeTokenId
(
99
IN
pkcs11h_token_id_t
token_id
100
);
101
109
CK_RV
110
pkcs11h_token_duplicateTokenId
(
111
OUT
pkcs11h_token_id_t
*
const
to,
112
IN
const
pkcs11h_token_id_t
from
113
);
114
121
PKCS11H_BOOL
122
pkcs11h_token_sameTokenId
(
123
IN
const
pkcs11h_token_id_t
a,
124
IN
const
pkcs11h_token_id_t
b
125
);
126
132
CK_RV
133
pkcs11h_token_logout
(
134
IN
const
pkcs11h_token_id_t
token_id
135
);
136
144
CK_RV
145
pkcs11h_token_login
(
146
IN
const
pkcs11h_token_id_t
token_id,
147
IN
const
PKCS11H_BOOL readonly,
148
IN
const
char
*
const
pin
149
);
150
158
CK_RV
159
pkcs11h_token_ensureAccess
(
160
IN
const
pkcs11h_token_id_t
token_id,
161
IN
void
*
const
user_data,
162
IN
const
unsigned
mask_prompt
163
);
164
170
CK_RV
171
pkcs11h_token_freeTokenIdList
(
172
IN
const
pkcs11h_token_id_list_t token_id_list
173
);
174
183
CK_RV
184
pkcs11h_token_enumTokenIds
(
185
IN
const
unsigned
method,
186
OUT pkcs11h_token_id_list_t *
const
p_token_id_list
187
);
188
197
CK_RV
198
pkcs11h_token_serializeTokenId
(
199
OUT
char
*
const
sz,
200
IN OUT
size_t
*max,
201
IN
const
pkcs11h_token_id_t
token_id
202
);
203
212
CK_RV
213
pkcs11h_token_deserializeTokenId
(
214
OUT
pkcs11h_token_id_t
*p_token_id,
215
IN
const
char
*
const
sz
216
);
217
218
#ifdef __cplusplus
219
}
220
#endif
221
224
#endif
/* __PKCS11H_TOKEN_H */
pkcs11-helper, Copyright (C) Alon Bar-Lev <alon.barlev@gmail.com>