1178825Sdfr/* This is a generated file */
2178825Sdfr#ifndef __heimntlm_protos_h__
3178825Sdfr#define __heimntlm_protos_h__
4178825Sdfr
5178825Sdfr#include <stdarg.h>
6178825Sdfr
7178825Sdfr#ifdef __cplusplus
8178825Sdfrextern "C" {
9178825Sdfr#endif
10178825Sdfr
11178825Sdfrint
12178825Sdfrheim_ntlm_build_ntlm1_master (
13178825Sdfr	void */*key*/,
14178825Sdfr	size_t /*len*/,
15178825Sdfr	struct ntlm_buf */*session*/,
16178825Sdfr	struct ntlm_buf */*master*/);
17178825Sdfr
18178825Sdfrint
19233294Sstasheim_ntlm_build_ntlm2_master (
20233294Sstas	void */*key*/,
21233294Sstas	size_t /*len*/,
22233294Sstas	struct ntlm_buf */*blob*/,
23233294Sstas	struct ntlm_buf */*session*/,
24233294Sstas	struct ntlm_buf */*master*/);
25233294Sstas
26233294Sstasint
27233294Sstasheim_ntlm_calculate_lm2 (
28233294Sstas	const void */*key*/,
29233294Sstas	size_t /*len*/,
30233294Sstas	const char */*username*/,
31233294Sstas	const char */*target*/,
32233294Sstas	const unsigned char serverchallenge[8],
33233294Sstas	unsigned char ntlmv2[16],
34233294Sstas	struct ntlm_buf */*answer*/);
35233294Sstas
36233294Sstasint
37178825Sdfrheim_ntlm_calculate_ntlm1 (
38178825Sdfr	void */*key*/,
39178825Sdfr	size_t /*len*/,
40233294Sstas	unsigned char challenge[8],
41178825Sdfr	struct ntlm_buf */*answer*/);
42178825Sdfr
43178825Sdfrint
44178825Sdfrheim_ntlm_calculate_ntlm2 (
45178825Sdfr	const void */*key*/,
46178825Sdfr	size_t /*len*/,
47178825Sdfr	const char */*username*/,
48178825Sdfr	const char */*target*/,
49233294Sstas	const unsigned char serverchallenge[8],
50178825Sdfr	const struct ntlm_buf */*infotarget*/,
51178825Sdfr	unsigned char ntlmv2[16],
52178825Sdfr	struct ntlm_buf */*answer*/);
53178825Sdfr
54178825Sdfrint
55178825Sdfrheim_ntlm_calculate_ntlm2_sess (
56178825Sdfr	const unsigned char clnt_nonce[8],
57178825Sdfr	const unsigned char svr_chal[8],
58178825Sdfr	const unsigned char ntlm_hash[16],
59178825Sdfr	struct ntlm_buf */*lm*/,
60178825Sdfr	struct ntlm_buf */*ntlm*/);
61178825Sdfr
62178825Sdfrint
63233294Sstasheim_ntlm_calculate_ntlm2_sess_hash (
64233294Sstas	const unsigned char clnt_nonce[8],
65233294Sstas	const unsigned char svr_chal[8],
66233294Sstas	unsigned char verifier[8]);
67233294Sstas
68233294Sstasint
69178825Sdfrheim_ntlm_decode_targetinfo (
70178825Sdfr	const struct ntlm_buf */*data*/,
71178825Sdfr	int /*ucs2*/,
72178825Sdfr	struct ntlm_targetinfo */*ti*/);
73178825Sdfr
74178825Sdfrint
75178825Sdfrheim_ntlm_decode_type1 (
76178825Sdfr	const struct ntlm_buf */*buf*/,
77178825Sdfr	struct ntlm_type1 */*data*/);
78178825Sdfr
79178825Sdfrint
80178825Sdfrheim_ntlm_decode_type2 (
81178825Sdfr	const struct ntlm_buf */*buf*/,
82178825Sdfr	struct ntlm_type2 */*type2*/);
83178825Sdfr
84178825Sdfrint
85178825Sdfrheim_ntlm_decode_type3 (
86178825Sdfr	const struct ntlm_buf */*buf*/,
87178825Sdfr	int /*ucs2*/,
88178825Sdfr	struct ntlm_type3 */*type3*/);
89178825Sdfr
90233294Sstasvoid
91233294Sstasheim_ntlm_derive_ntlm2_sess (
92233294Sstas	const unsigned char sessionkey[16],
93233294Sstas	const unsigned char */*clnt_nonce*/,
94233294Sstas	size_t /*clnt_nonce_length*/,
95233294Sstas	const unsigned char svr_chal[8],
96233294Sstas	unsigned char derivedkey[16]);
97233294Sstas
98178825Sdfrint
99178825Sdfrheim_ntlm_encode_targetinfo (
100178825Sdfr	const struct ntlm_targetinfo */*ti*/,
101178825Sdfr	int /*ucs2*/,
102178825Sdfr	struct ntlm_buf */*data*/);
103178825Sdfr
104178825Sdfrint
105178825Sdfrheim_ntlm_encode_type1 (
106178825Sdfr	const struct ntlm_type1 */*type1*/,
107178825Sdfr	struct ntlm_buf */*data*/);
108178825Sdfr
109178825Sdfrint
110178825Sdfrheim_ntlm_encode_type2 (
111178825Sdfr	const struct ntlm_type2 */*type2*/,
112178825Sdfr	struct ntlm_buf */*data*/);
113178825Sdfr
114178825Sdfrint
115178825Sdfrheim_ntlm_encode_type3 (
116178825Sdfr	const struct ntlm_type3 */*type3*/,
117178825Sdfr	struct ntlm_buf */*data*/);
118178825Sdfr
119178825Sdfrvoid
120178825Sdfrheim_ntlm_free_buf (struct ntlm_buf */*p*/);
121178825Sdfr
122178825Sdfrvoid
123178825Sdfrheim_ntlm_free_targetinfo (struct ntlm_targetinfo */*ti*/);
124178825Sdfr
125178825Sdfrvoid
126178825Sdfrheim_ntlm_free_type1 (struct ntlm_type1 */*data*/);
127178825Sdfr
128178825Sdfrvoid
129178825Sdfrheim_ntlm_free_type2 (struct ntlm_type2 */*data*/);
130178825Sdfr
131178825Sdfrvoid
132178825Sdfrheim_ntlm_free_type3 (struct ntlm_type3 */*data*/);
133178825Sdfr
134178825Sdfrint
135233294Sstasheim_ntlm_keyex_unwrap (
136233294Sstas	struct ntlm_buf */*baseKey*/,
137233294Sstas	struct ntlm_buf */*encryptedSession*/,
138233294Sstas	struct ntlm_buf */*session*/);
139233294Sstas
140233294Sstasint
141233294Sstasheim_ntlm_keyex_wrap (
142233294Sstas	struct ntlm_buf */*base_session*/,
143233294Sstas	struct ntlm_buf */*session*/,
144233294Sstas	struct ntlm_buf */*encryptedSession*/);
145233294Sstas
146233294Sstasint
147178825Sdfrheim_ntlm_nt_key (
148178825Sdfr	const char */*password*/,
149178825Sdfr	struct ntlm_buf */*key*/);
150178825Sdfr
151233294Sstasint
152178825Sdfrheim_ntlm_ntlmv2_key (
153178825Sdfr	const void */*key*/,
154178825Sdfr	size_t /*len*/,
155178825Sdfr	const char */*username*/,
156178825Sdfr	const char */*target*/,
157178825Sdfr	unsigned char ntlmv2[16]);
158178825Sdfr
159233294Sstassize_t
160233294Sstasheim_ntlm_unparse_flags (
161233294Sstas	uint32_t /*flags*/,
162233294Sstas	char */*s*/,
163233294Sstas	size_t /*len*/);
164233294Sstas
165178825Sdfrint
166233294Sstasheim_ntlm_v1_base_session (
167233294Sstas	void */*key*/,
168233294Sstas	size_t /*len*/,
169233294Sstas	struct ntlm_buf */*session*/);
170233294Sstas
171233294Sstasint
172233294Sstasheim_ntlm_v2_base_session (
173233294Sstas	void */*key*/,
174233294Sstas	size_t /*len*/,
175233294Sstas	struct ntlm_buf */*ntlmResponse*/,
176233294Sstas	struct ntlm_buf */*session*/);
177233294Sstas
178233294Sstasint
179178825Sdfrheim_ntlm_verify_ntlm2 (
180178825Sdfr	const void */*key*/,
181178825Sdfr	size_t /*len*/,
182178825Sdfr	const char */*username*/,
183178825Sdfr	const char */*target*/,
184178825Sdfr	time_t /*now*/,
185233294Sstas	const unsigned char serverchallenge[8],
186178825Sdfr	const struct ntlm_buf */*answer*/,
187178825Sdfr	struct ntlm_buf */*infotarget*/,
188178825Sdfr	unsigned char ntlmv2[16]);
189178825Sdfr
190178825Sdfr#ifdef __cplusplus
191178825Sdfr}
192178825Sdfr#endif
193178825Sdfr
194178825Sdfr#endif /* __heimntlm_protos_h__ */
195