gsasl  1.8.0
kerberos_v5.h
Go to the documentation of this file.
00001 /* kerberos_v5.h --- Prototypes for experimental SASL mechanism KERBEROS_V5.
00002  * Copyright (C) 2003-2012 Simon Josefsson
00003  *
00004  * This file is part of GNU SASL Library.
00005  *
00006  * GNU SASL Library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public License
00008  * as published by the Free Software Foundation; either version 2.1 of
00009  * the License, or (at your option) any later version.
00010  *
00011  * GNU SASL Library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with GNU SASL Library; if not, write to the Free
00018  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00019  * Boston, MA 02110-1301, USA.
00020  *
00021  * NB!  Shishi is licensed under GPL, so linking GSASL with it require
00022  * that you follow the GPL for GSASL as well.
00023  *
00024  */
00025 
00026 #ifndef _KERBEROS_V5_H
00027 #define _KERBEROS_V5_H
00028 
00029 #include "internal.h"
00030 
00031 #define _GSASL_KERBEROS_V5_NAME "KERBEROS_V5"
00032 
00033 extern int _gsasl_kerberos_v5_client_init (Gsasl * ctx);
00034 extern int _gsasl_kerberos_v5_client_start (Gsasl_session * sctx,
00035                                             void **mech_data);
00036 extern int _gsasl_kerberos_v5_client_step (Gsasl_session * sctx,
00037                                            void *mech_data,
00038                                            const char *input,
00039                                            size_t input_len,
00040                                            char *output, size_t * output_len);
00041 extern int _gsasl_kerberos_v5_client_encode (Gsasl_session * sctx,
00042                                              void *mech_data,
00043                                              const char *input,
00044                                              size_t input_len,
00045                                              char *output,
00046                                              size_t * output_len);
00047 extern int _gsasl_kerberos_v5_client_decode (Gsasl_session * sctx,
00048                                              void *mech_data,
00049                                              const char *input,
00050                                              size_t input_len,
00051                                              char *output,
00052                                              size_t * output_len);
00053 extern int _gsasl_kerberos_v5_client_finish (Gsasl_session * sctx,
00054                                              void *mech_data);
00055 
00056 extern int _gsasl_kerberos_v5_server_init (Gsasl * ctx);
00057 extern int _gsasl_kerberos_v5_server_start (Gsasl_session * sctx,
00058                                             void **mech_data);
00059 extern int _gsasl_kerberos_v5_server_step (Gsasl_session * sctx,
00060                                            void *mech_data,
00061                                            const char *input,
00062                                            size_t input_len,
00063                                            char *output, size_t * output_len);
00064 extern int _gsasl_kerberos_v5_server_encode (Gsasl_session * sctx,
00065                                              void *mech_data,
00066                                              const char *input,
00067                                              size_t input_len,
00068                                              char *output,
00069                                              size_t * output_len);
00070 extern int _gsasl_kerberos_v5_server_decode (Gsasl_session * sctx,
00071                                              void *mech_data,
00072                                              const char *input,
00073                                              size_t input_len,
00074                                              char *output,
00075                                              size_t * output_len);
00076 extern int _gsasl_kerberos_v5_server_finish (Gsasl_session * sctx,
00077                                              void *mech_data);
00078 
00079 #endif /* _KERBEROS_V5_H */