1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License, Version 1.0 only
6 * (the "License").  You may not use this file except in compliance
7 * with the License.
8 *
9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 * or http://www.opensolaris.org/os/licensing.
11 * See the License for the specific language governing permissions
12 * and limitations under the License.
13 *
14 * When distributing Covered Code, include this CDDL HEADER in each
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
19 *
20 * CDDL HEADER END
21 */
22/*
23 * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
24 * Use is subject to license terms.
25 */
26
27#pragma ident	"%Z%%M%	%I%	%E% SMI"
28
29/*
30 * Dual-Function Cryptographic Functions
31 * (as defined in PKCS#11 spec section 11.13)
32 *
33 * These functions will not be supported in the this release.
34 * A call to these functions returns CKR_FUNCTION_NOT_SUPPORTED.
35 *
36 * Providing the support for dual-function crypto functions is
37 * not trivial.  C_FooInit() need to be called for the 2 crypto
38 * operations before any of these function can be called.
39 * When C_FooInit() is called, metaslot doesn't know if it is going
40 * to do dual-function crypto or single crypto operation.
41 * So, it has no way to pick the slot that supports both the mechanism
42 * it specified and supports dual-functions.
43 *
44 * In order for these dual functions to be supported in the future,
45 * metaslot need to simulate the dual-function crypto operations
46 * when both operations are not lucky enough be to initialized in
47 * the same slots that supports dual-functions.
48 */
49
50#include "metaGlobal.h"
51
52/*
53 * meta_DigestEncryptUpdate
54 *
55 */
56/*ARGSUSED*/
57CK_RV
58meta_DigestEncryptUpdate(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart,
59    CK_ULONG ulPartLen, CK_BYTE_PTR pEncryptedPart,
60    CK_ULONG_PTR pulEncryptedPartLen)
61{
62	return (CKR_FUNCTION_NOT_SUPPORTED);
63}
64
65/*
66 * meta_DecryptDigestUpdate
67 *
68 */
69/*ARGSUSED*/
70CK_RV
71meta_DecryptDigestUpdate(CK_SESSION_HANDLE hSession,
72    CK_BYTE_PTR pEncryptedPart, CK_ULONG ulEncryptedPartLen,
73    CK_BYTE_PTR pPart, CK_ULONG_PTR pulPartLen)
74{
75	return (CKR_FUNCTION_NOT_SUPPORTED);
76}
77
78/*
79 * meta_SignEncryptUpdate
80 *
81 */
82/*ARGSUSED*/
83CK_RV
84meta_SignEncryptUpdate(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart,
85    CK_ULONG ulPartLen, CK_BYTE_PTR pEncryptedPart,
86    CK_ULONG_PTR pulEncryptedPartLen)
87{
88	return (CKR_FUNCTION_NOT_SUPPORTED);
89}
90
91/*
92 * meta_DecryptVerifyUpdate
93 *
94 */
95/*ARGSUSED*/
96CK_RV
97meta_DecryptVerifyUpdate(CK_SESSION_HANDLE hSession,
98    CK_BYTE_PTR pEncryptedPart, CK_ULONG ulEncryptedPartLen,
99    CK_BYTE_PTR pPart, CK_ULONG_PTR pulPartLen)
100{
101	return (CKR_FUNCTION_NOT_SUPPORTED);
102}
103