2 * Copyright (c) 1995, Index Data.
4 * Permission to use, copy, modify, distribute, and sell this software and
5 * its documentation, in whole or in part, for any purpose, is hereby granted,
8 * 1. This copyright and permission notice appear in all copies of the
9 * software and its documentation. Notices of copyright or attribution
10 * which appear at the beginning of any file must remain unchanged.
12 * 2. The name of Index Data or the individual authors may not be used to
13 * endorse or promote products derived from this software without specific
14 * prior written permission.
16 * THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND,
17 * EXPRESS, IMPLIED, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
18 * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
19 * IN NO EVENT SHALL INDEX DATA BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
20 * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES
21 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR
22 * NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
23 * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
27 * Revision 1.4 1995-09-27 15:02:49 quinn
28 * Modified function heads & prototypes.
30 * Revision 1.3 1995/08/17 12:45:16 quinn
31 * Fixed minor problems with GRS-1. Added support in c&s.
33 * Revision 1.2 1995/08/15 12:00:13 quinn
36 * Revision 1.1 1995/06/02 09:49:49 quinn
45 typedef struct Z_Encryption1
47 Odr_oct *cryptType; /* OPTIONAL */
48 Odr_oct *credential; /* OPTIONAL */
52 typedef struct Z_EnumeratedPrompt1
55 #define Z_Prompt1_groupId 0
56 #define Z_Prompt1_userId 1
57 #define Z_Prompt1_password 2
58 #define Z_Prompt1_newPassword 3
59 #define Z_Prompt1_copyright 4
60 char *suggestedString; /* OPTIONAL */
61 } Z_EnumeratedPrompt1;
63 typedef struct Z_PromptId1
67 Z_PromptId1_enumeratedPrompt,
68 Z_PromptId1_nonEnumeratedPrompt
72 Z_EnumeratedPrompt1 *enumeratedPrompt;
73 char *nonEnumeratedPrompt;
77 typedef struct Z_PromptInfo1
81 Z_Challenge1_character,
82 Z_Challenge1_encrypted
87 Z_Encryption1 *encrypted;
91 typedef struct Z_ChallengeUnit1
93 Z_PromptId1 *promptId;
94 char *defaultResponse; /* OPTIONAL */
95 Z_PromptInfo1 *promptInfo; /* OPTIONAL */
96 char *regExpr; /* OPTIONAL */
97 Odr_null *responseRequired; /* OPTIONAL */
99 char **allowedValues; /* OPTIONAL */
100 Odr_null *shouldSave; /* OPTIONAL */
101 int *dataType; /* OPTIONAL */
102 #define Z_ChalDataType_integer 1
103 #define Z_ChalDataType_date 2
104 #define Z_ChalDataType_float 3
105 #define Z_ChalDataType_alphaNumeric 4
106 #define Z_ChalDataType_urlUrn 5
107 #define Z_ChalDataType_boolean 6
108 Z_External *diagnostic; /* OPTIONAL */
111 typedef struct Z_Challenge1
114 Z_ChallengeUnit1 **list;
117 typedef struct Z_ResponseUnit1
119 Z_PromptId1 *promptId;
124 Z_Response1_acknowledge,
125 Z_Response1_diagnostic,
126 Z_Response1_encrypted
132 Odr_null *acknowledge;
133 Z_DiagRec *diagnostic;
134 Z_Encryption1 *encrypted;
138 typedef struct Z_Response1
141 Z_ResponseUnit1 **list;
144 typedef struct Z_PromptObject1
148 Z_PromptObject1_challenge,
149 Z_PromptObject1_response
153 Z_Challenge1 *challenge;
154 Z_Response1 *response;
158 int MDF z_PromptObject1(ODR o, Z_PromptObject1 **p, int opt);