summaryrefslogtreecommitdiffstats
path: root/include/ncrypto
diff options
context:
space:
mode:
authorMiloslav Trmač <mitr@redhat.com>2010-10-04 21:25:21 +0200
committerMiloslav Trmač <mitr@redhat.com>2010-10-04 21:25:21 +0200
commit566ee5e8a43f6f9c5705c9d154e89cf43759b77f (patch)
treeefd72b5c8422f192ebeb569036375469e5845ff5 /include/ncrypto
parent91475817b3f08ebf76cee39271aa5a692c8930d5 (diff)
downloadncrypto-566ee5e8a43f6f9c5705c9d154e89cf43759b77f.tar.gz
ncrypto-566ee5e8a43f6f9c5705c9d154e89cf43759b77f.tar.xz
ncrypto-566ee5e8a43f6f9c5705c9d154e89cf43759b77f.zip
Add basic digest support
Diffstat (limited to 'include/ncrypto')
-rw-r--r--include/ncrypto/ncrypto.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/include/ncrypto/ncrypto.h b/include/ncrypto/ncrypto.h
index e69de29..5da7949 100644
--- a/include/ncrypto/ncrypto.h
+++ b/include/ncrypto/ncrypto.h
@@ -0,0 +1,56 @@
+/* libncrypto interface.
+
+Copyright 2010 Red Hat, Inc.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+EVENT SHALL CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+Red Hat author: Miloslav Trmač <mitr@redhat.com> */
+
+#ifndef NCRYPTO_H__
+#define NCRYPTO_H__
+
+#include <stddef.h>
+
+#include <pkcs11.h>
+
+struct ncr_digest_session;
+
+/* Session lifetime management. */
+CK_RV ncr_digest_alloc (struct ncr_digest_session **sess,
+ CK_MECHANISM_TYPE mech);
+CK_RV ncr_digest_free (struct ncr_digest_session *sess);
+/* Use either: ncr_digest_{init,update*,final} (), or
+ ncr_{digest_init,digest} (). After finishing such a call sequence, a new
+ sequence can be started within the same session. */
+CK_RV ncr_digest_init (struct ncr_digest_session *sess);
+CK_RV ncr_digest_update (struct ncr_digest_session *sess, const void *data,
+ size_t size);
+CK_RV ncr_digest_final (struct ncr_digest_session *sess, void *dest,
+ size_t *size_ptr);
+CK_RV ncr_digest (struct ncr_digest_session *sess, void *dest,
+ size_t *dest_size_ptr, const void *data, size_t data_size);
+
+CK_RV ncr_digest_standalone (CK_MECHANISM_TYPE mech, void *dest,
+ size_t *dest_size_ptr, const void *data,
+ size_t data_size);
+
+#endif