Update gnulib files.
[gsasl.git] / lib / kerberos_v5 / kerberos_v5.h
bloba479c57e69d3ab2459931ab26c11e28cb547030c
1 /* kerberos_v5.h --- Prototypes for experimental SASL mechanism KERBEROS_V5.
2 * Copyright (C) 2003, 2004 Simon Josefsson
4 * This file is part of GNU SASL Library.
6 * GNU SASL Library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public License
8 * as published by the Free Software Foundation; either version 2.1 of
9 * the License, or (at your option) any later version.
11 * GNU SASL Library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with GNU SASL Library; if not, write to the Free
18 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 * Boston, MA 02110-1301, USA.
21 * NB! Shishi is licensed under GPL, so linking GSASL with it require
22 * that you follow the GPL for GSASL as well.
26 #ifndef _KERBEROS_V5_H
27 #define _KERBEROS_V5_H
29 #include "internal.h"
31 #define _GSASL_KERBEROS_V5_NAME "KERBEROS_V5"
33 extern int _gsasl_kerberos_v5_client_init (Gsasl * ctx);
34 extern int _gsasl_kerberos_v5_client_start (Gsasl_session * sctx,
35 void **mech_data);
36 extern int _gsasl_kerberos_v5_client_step (Gsasl_session * sctx,
37 void *mech_data,
38 const char *input,
39 size_t input_len,
40 char *output, size_t * output_len);
41 extern int _gsasl_kerberos_v5_client_encode (Gsasl_session * sctx,
42 void *mech_data,
43 const char *input,
44 size_t input_len,
45 char *output,
46 size_t * output_len);
47 extern int _gsasl_kerberos_v5_client_decode (Gsasl_session * sctx,
48 void *mech_data,
49 const char *input,
50 size_t input_len,
51 char *output,
52 size_t * output_len);
53 extern int _gsasl_kerberos_v5_client_finish (Gsasl_session * sctx,
54 void *mech_data);
56 extern int _gsasl_kerberos_v5_server_init (Gsasl * ctx);
57 extern int _gsasl_kerberos_v5_server_start (Gsasl_session * sctx,
58 void **mech_data);
59 extern int _gsasl_kerberos_v5_server_step (Gsasl_session * sctx,
60 void *mech_data,
61 const char *input,
62 size_t input_len,
63 char *output, size_t * output_len);
64 extern int _gsasl_kerberos_v5_server_encode (Gsasl_session * sctx,
65 void *mech_data,
66 const char *input,
67 size_t input_len,
68 char *output,
69 size_t * output_len);
70 extern int _gsasl_kerberos_v5_server_decode (Gsasl_session * sctx,
71 void *mech_data,
72 const char *input,
73 size_t input_len,
74 char *output,
75 size_t * output_len);
76 extern int _gsasl_kerberos_v5_server_finish (Gsasl_session * sctx,
77 void *mech_data);
79 #endif /* _KERBEROS_V5_H */