From 566ee5e8a43f6f9c5705c9d154e89cf43759b77f Mon Sep 17 00:00:00 2001 From: Miloslav Trmač Date: Mon, 4 Oct 2010 21:25:21 +0200 Subject: Add basic digest support --- include/ncrypto/ncrypto.h | 56 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) (limited to 'include/ncrypto') 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č */ + +#ifndef NCRYPTO_H__ +#define NCRYPTO_H__ + +#include + +#include + +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 -- cgit