File: pkcs11_8h_source.html

package info (click to toggle)
pam-pkcs11 0.6.4-1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 7,512 kB
  • ctags: 7,477
  • sloc: ansic: 12,651; sh: 10,824; xml: 2,756; makefile: 231; lex: 92
file content (157 lines) | stat: -rw-r--r-- 13,811 bytes parent folder | download
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>pam_pkcs11: pkcs11.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="dir_55f9682142a78e45196901be32452b47.html">src</a>&nbsp;&raquo;&nbsp;<a class="el" href="dir_782c1fcd7529e1a05f3f2af490691324.html">common</a>&nbsp;&raquo;&nbsp;<a class="el" href="dir_d7a1e1289fa34b6242c3a4ee6b47b28d.html">rsaref</a>
  </div>
</div>
<div class="contents">
<h1>pkcs11.h</h1><a href="pkcs11_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * PKCS #11 PAM Login Module</span>
<a name="l00003"></a>00003 <span class="comment"> * Copyright (C) 2003 Mario Strasser &lt;mast@gmx.net&gt;,</span>
<a name="l00004"></a>00004 <span class="comment"> *</span>
<a name="l00005"></a>00005 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
<a name="l00006"></a>00006 <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span>
<a name="l00007"></a>00007 <span class="comment"> * License as published by the Free Software Foundation; either</span>
<a name="l00008"></a>00008 <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span>
<a name="l00009"></a>00009 <span class="comment"> *</span>
<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful,</span>
<a name="l00011"></a>00011 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</span>
<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
<a name="l00014"></a>00014 <span class="comment"> *</span>
<a name="l00015"></a>00015 <span class="comment"> * $Id: pkcs11.h 358 2008-11-06 14:28:46Z ludovic.rousseau $</span>
<a name="l00016"></a>00016 <span class="comment"> */</span>
<a name="l00017"></a>00017 
<a name="l00018"></a>00018 <span class="preprocessor">#ifndef PKCS11_H</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define PKCS11_H</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span>
<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;openssl/x509.h&gt;</span>
<a name="l00022"></a>00022 
<a name="l00023"></a>00023 <span class="comment">/* Some UNIX specific macros */</span>
<a name="l00024"></a>00024 
<a name="l00025"></a><a class="code" href="pkcs11_8h.html#a423401496b51f5c72a74e5502b47fd7d">00025</a> <span class="preprocessor">#define CK_PTR *</span>
<a name="l00026"></a><a class="code" href="pkcs11_8h.html#aa21d2a59f7de7ecc92a13e2958bb60b8">00026</a> <span class="preprocessor"></span><span class="preprocessor">#define CK_DEFINE_FUNCTION(returnType, name) \</span>
<a name="l00027"></a>00027 <span class="preprocessor">  returnType name</span>
<a name="l00028"></a><a class="code" href="pkcs11_8h.html#a30315d302108bcfb354196f37b16a492">00028</a> <span class="preprocessor"></span><span class="preprocessor">#define CK_DECLARE_FUNCTION(returnType, name) \</span>
<a name="l00029"></a>00029 <span class="preprocessor">  returnType name</span>
<a name="l00030"></a><a class="code" href="pkcs11_8h.html#aad472a68fb8e3eb9ba40169f5180b3b7">00030</a> <span class="preprocessor"></span><span class="preprocessor">#define CK_DECLARE_FUNCTION_POINTER(returnType, name) \</span>
<a name="l00031"></a>00031 <span class="preprocessor">  returnType (* name)</span>
<a name="l00032"></a><a class="code" href="pkcs11_8h.html#a5235e6437759c93b8189b124c8c807cf">00032</a> <span class="preprocessor"></span><span class="preprocessor">#define CK_CALLBACK_FUNCTION(returnType, name) \</span>
<a name="l00033"></a>00033 <span class="preprocessor">  returnType (* name)</span>
<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#ifndef NULL_PTR</span>
<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor">#define NULL_PTR 0</span>
<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span>
<a name="l00038"></a>00038 <span class="comment">/* License to copy and use this software is granted provided that it is</span>
<a name="l00039"></a>00039 <span class="comment"> * identified as &quot;RSA Security Inc. PKCS #11 Cryptographic Token Interface</span>
<a name="l00040"></a>00040 <span class="comment"> * (Cryptoki)&quot; in all material mentioning or referencing this software.</span>
<a name="l00041"></a>00041 <span class="comment"></span>
<a name="l00042"></a>00042 <span class="comment"> * License is also granted to make and use derivative works provided that</span>
<a name="l00043"></a>00043 <span class="comment"> * such works are identified as &quot;derived from the RSA Security Inc. PKCS #11</span>
<a name="l00044"></a>00044 <span class="comment"> * Cryptographic Token Interface (Cryptoki)&quot; in all material mentioning or</span>
<a name="l00045"></a>00045 <span class="comment"> * referencing the derived work.</span>
<a name="l00046"></a>00046 <span class="comment"></span>
<a name="l00047"></a>00047 <span class="comment"> * RSA Security Inc. makes no representations concerning either the</span>
<a name="l00048"></a>00048 <span class="comment"> * merchantability of this software or the suitability of this software for</span>
<a name="l00049"></a>00049 <span class="comment"> * any particular purpose. It is provided &quot;as is&quot; without express or implied</span>
<a name="l00050"></a>00050 <span class="comment"> * warranty of any kind.</span>
<a name="l00051"></a>00051 <span class="comment"> */</span>
<a name="l00052"></a>00052 
<a name="l00053"></a>00053 <span class="comment">/* All the various Cryptoki types and #define&#39;d values are in the</span>
<a name="l00054"></a>00054 <span class="comment"> * file pkcs11t.h. */</span>
<a name="l00055"></a>00055 <span class="preprocessor">#include &quot;<a class="code" href="pkcs11t_8h.html">pkcs11t.h</a>&quot;</span>
<a name="l00056"></a>00056 
<a name="l00057"></a><a class="code" href="pkcs11_8h.html#ac3ae5768889bec57a63f08b6a6e5f58d">00057</a> <span class="preprocessor">#define __PASTE(x,y)      x##y</span>
<a name="l00058"></a>00058 <span class="preprocessor"></span>
<a name="l00059"></a>00059 
<a name="l00060"></a>00060 <span class="comment">/* ==============================================================</span>
<a name="l00061"></a>00061 <span class="comment"> * Define the &quot;extern&quot; form of all the entry points.</span>
<a name="l00062"></a>00062 <span class="comment"> * ==============================================================</span>
<a name="l00063"></a>00063 <span class="comment"> */</span>
<a name="l00064"></a>00064 
<a name="l00065"></a><a class="code" href="pkcs11_8h.html#a427a6a11246534e2c0d569e21cc854b9">00065</a> <span class="preprocessor">#define CK_NEED_ARG_LIST  1</span>
<a name="l00066"></a>00066 <span class="preprocessor"></span><span class="preprocessor">#define CK_PKCS11_FUNCTION_INFO(name) \</span>
<a name="l00067"></a>00067 <span class="preprocessor">  extern CK_DECLARE_FUNCTION(CK_RV, name)</span>
<a name="l00068"></a>00068 <span class="preprocessor"></span>
<a name="l00069"></a>00069 <span class="comment">/* pkcs11f.h has all the information about the Cryptoki</span>
<a name="l00070"></a>00070 <span class="comment"> * function prototypes. */</span>
<a name="l00071"></a>00071 <span class="preprocessor">#include &quot;<a class="code" href="pkcs11f_8h.html">pkcs11f.h</a>&quot;</span>
<a name="l00072"></a>00072 
<a name="l00073"></a>00073 <span class="preprocessor">#undef CK_NEED_ARG_LIST</span>
<a name="l00074"></a>00074 <span class="preprocessor"></span><span class="preprocessor">#undef CK_PKCS11_FUNCTION_INFO</span>
<a name="l00075"></a>00075 <span class="preprocessor"></span>
<a name="l00076"></a>00076 
<a name="l00077"></a>00077 <span class="comment">/* ==============================================================</span>
<a name="l00078"></a>00078 <span class="comment"> * Define the typedef form of all the entry points.  That is, for</span>
<a name="l00079"></a>00079 <span class="comment"> * each Cryptoki function C_XXX, define a type CK_C_XXX which is</span>
<a name="l00080"></a>00080 <span class="comment"> * a pointer to that kind of function.</span>
<a name="l00081"></a>00081 <span class="comment"> * ==============================================================</span>
<a name="l00082"></a>00082 <span class="comment"> */</span>
<a name="l00083"></a>00083 
<a name="l00084"></a>00084 <span class="preprocessor">#define CK_NEED_ARG_LIST  1</span>
<a name="l00085"></a>00085 <span class="preprocessor"></span><span class="preprocessor">#define CK_PKCS11_FUNCTION_INFO(name) \</span>
<a name="l00086"></a>00086 <span class="preprocessor">  typedef CK_DECLARE_FUNCTION_POINTER(CK_RV, __PASTE(CK_,name))</span>
<a name="l00087"></a>00087 <span class="preprocessor"></span>
<a name="l00088"></a>00088 <span class="comment">/* pkcs11f.h has all the information about the Cryptoki</span>
<a name="l00089"></a>00089 <span class="comment"> * function prototypes. */</span>
<a name="l00090"></a>00090 <span class="preprocessor">#include &quot;<a class="code" href="pkcs11f_8h.html">pkcs11f.h</a>&quot;</span>
<a name="l00091"></a>00091 
<a name="l00092"></a>00092 <span class="preprocessor">#undef CK_NEED_ARG_LIST</span>
<a name="l00093"></a>00093 <span class="preprocessor"></span><span class="preprocessor">#undef CK_PKCS11_FUNCTION_INFO</span>
<a name="l00094"></a>00094 <span class="preprocessor"></span>
<a name="l00095"></a>00095 
<a name="l00096"></a>00096 <span class="comment">/* ==============================================================</span>
<a name="l00097"></a>00097 <span class="comment"> * Define structed vector of entry points.  A CK_FUNCTION_LIST</span>
<a name="l00098"></a>00098 <span class="comment"> * contains a CK_VERSION indicating a library&#39;s Cryptoki version</span>
<a name="l00099"></a>00099 <span class="comment"> * and then a whole slew of function pointers to the routines in</span>
<a name="l00100"></a>00100 <span class="comment"> * the library.  This type was declared, but not defined, in</span>
<a name="l00101"></a>00101 <span class="comment"> * pkcs11t.h.</span>
<a name="l00102"></a>00102 <span class="comment"> * ==============================================================</span>
<a name="l00103"></a>00103 <span class="comment"> */</span>
<a name="l00104"></a>00104 
<a name="l00105"></a><a class="code" href="pkcs11_8h.html#ac496f7959ba2c28cd7a2b5f5ac34628b">00105</a> <span class="preprocessor">#define CK_PKCS11_FUNCTION_INFO(name) \</span>
<a name="l00106"></a>00106 <span class="preprocessor">  __PASTE(CK_,name) name;</span>
<a name="l00107"></a>00107 <span class="preprocessor"></span>
<a name="l00108"></a><a class="code" href="structCK__FUNCTION__LIST.html">00108</a> <span class="keyword">struct </span><a class="code" href="structCK__FUNCTION__LIST.html">CK_FUNCTION_LIST</a> {
<a name="l00109"></a>00109 
<a name="l00110"></a><a class="code" href="structCK__FUNCTION__LIST.html#a7aa05831aaad21e6d52409a0b74d0f14">00110</a>   <a class="code" href="structCK__VERSION.html">CK_VERSION</a> <a class="code" href="structCK__FUNCTION__LIST.html#a7aa05831aaad21e6d52409a0b74d0f14">version</a>;           <span class="comment">/* Cryptoki version */</span>
<a name="l00111"></a>00111 
<a name="l00112"></a>00112 <span class="comment">/* Pile all the function pointers into the CK_FUNCTION_LIST. */</span>
<a name="l00113"></a>00113 <span class="comment">/* pkcs11f.h has all the information about the Cryptoki</span>
<a name="l00114"></a>00114 <span class="comment"> * function prototypes. */</span>
<a name="l00115"></a>00115 <span class="preprocessor">#include &quot;<a class="code" href="pkcs11f_8h.html">pkcs11f.h</a>&quot;</span>
<a name="l00116"></a>00116 
<a name="l00117"></a>00117 };
<a name="l00118"></a>00118 
<a name="l00119"></a>00119 <span class="preprocessor">#undef CK_PKCS11_FUNCTION_INFO</span>
<a name="l00120"></a>00120 <span class="preprocessor"></span><span class="preprocessor">#undef __PASTE</span>
<a name="l00121"></a>00121 <span class="preprocessor"></span>
<a name="l00122"></a>00122 <span class="preprocessor">#endif </span><span class="comment">/* PKCS11_H */</span>
</pre></div></div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Jun 12 17:28:15 2010 for pam_pkcs11 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>