1/*-
2 * Copyright (C) 2001-2003 by NBMK Encryption Technologies.
3 * All rights reserved.
4 *
5 * NBMK Encryption Technologies provides no support of any kind for
6 * this software.  Questions or concerns about it may be addressed to
7 * the members of the relevant open-source community at
8 * <tech-crypto@netbsd.org>.
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions are
12 * met:
13 *
14 * 1. Redistributions of source code must retain the above copyright
15 *    notice, this list of conditions and the following disclaimer.
16 *
17 * 2. Redistributions in binary form must reproduce the above
18 *    copyright notice, this list of conditions and the following
19 *    disclaimer in the documentation and/or other materials provided
20 *    with the distribution.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
26 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
27 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
28 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 */
34
35#ifndef TEST_CASE_H
36#define TEST_CASE_H
37
38#include <stdio.h>
39#include "n8_pub_buffer.h"
40
41#define OPCODE_STR_LENGTH        4
42
43typedef struct{
44   char token[OPCODE_STR_LENGTH + 2];
45   int seq_number;
46   int use_sks;
47   int sks_addr;
48   ATTR m;
49   ATTR a;
50   ATTR b;
51   ATTR c;
52   ATTR r;
53   ATTR opnd[7];
54} TEST_CASE;
55
56#define RSA_P_Operand               0
57#define RSA_Q_Operand               1
58#define RSA_D_Operand               2
59#define RSA_N_Operand               3
60#define RSA_U_Operand               4
61#define RSA_E_Operand               5
62#define RSA_I_Operand               6
63
64#define DSA_N_Operand               0
65#define DSA_E_Operand               1
66#define DSA_P_Operand               2
67#define DSA_G_Operand               3
68#define DSA_Q_Operand               4
69#define DSA_X_Operand               5
70#define DSA_Y_Operand               6
71
72#define TC_SUCCESS                  0
73#define TC_GENERIC_ERROR           -1
74#define TC_IMPROPER_IO_FORMAT      -2
75#define TC_OPEN_ERR                -3
76#define TC_READ_ERR                -4
77#define TC_WRITE_ERR               -5
78#define TC_FSCANF_ERR              -6
79#define TC_MALLOC_ERR              -7
80#define TC_EOF                     -8
81
82int read_test_case(FILE *, TEST_CASE *);
83#endif
84