Bump versions.
[gsasl.git] / lib / src / internal.h
blob26e76837c926ee7a87e83343559d8d2b18e4e851
1 /* internal.h --- Internal header with hidden library handle structures.
2 * Copyright (C) 2002, 2003, 2004, 2005, 2006 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 License along with GNU SASL Library; if not, write to the
18 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 * Boston, MA 02110-1301, USA.
23 #ifndef INTERNAL_H
24 # define INTERNAL_H
26 # if HAVE_CONFIG_H
27 # include "config.h"
28 # endif
30 /* Get specifications. */
31 # include "gsasl.h"
33 /* Get malloc, free, ... */
34 # include <stdlib.h>
36 /* Get strlen, strcpy, ... */
37 # include <string.h>
39 /* Main library handle. */
40 struct Gsasl
42 size_t n_client_mechs;
43 Gsasl_mechanism *client_mechs;
44 size_t n_server_mechs;
45 Gsasl_mechanism *server_mechs;
46 /* Callback. */
47 Gsasl_callback_function cb;
48 void *application_hook;
49 #ifndef GSASL_NO_OBSOLETE
50 /* Obsolete stuff. */
51 Gsasl_client_callback_authorization_id cbc_authorization_id;
52 Gsasl_client_callback_authentication_id cbc_authentication_id;
53 Gsasl_client_callback_password cbc_password;
54 Gsasl_client_callback_passcode cbc_passcode;
55 Gsasl_client_callback_pin cbc_pin;
56 Gsasl_client_callback_anonymous cbc_anonymous;
57 Gsasl_client_callback_qop cbc_qop;
58 Gsasl_client_callback_maxbuf cbc_maxbuf;
59 Gsasl_client_callback_service cbc_service;
60 Gsasl_client_callback_realm cbc_realm;
61 Gsasl_server_callback_validate cbs_validate;
62 Gsasl_server_callback_securid cbs_securid;
63 Gsasl_server_callback_retrieve cbs_retrieve;
64 Gsasl_server_callback_cram_md5 cbs_cram_md5;
65 Gsasl_server_callback_digest_md5 cbs_digest_md5;
66 Gsasl_server_callback_external cbs_external;
67 Gsasl_server_callback_anonymous cbs_anonymous;
68 Gsasl_server_callback_realm cbs_realm;
69 Gsasl_server_callback_qop cbs_qop;
70 Gsasl_server_callback_maxbuf cbs_maxbuf;
71 Gsasl_server_callback_cipher cbs_cipher;
72 Gsasl_server_callback_service cbs_service;
73 Gsasl_server_callback_gssapi cbs_gssapi;
74 #endif
77 /* Per-session library handle. */
78 struct Gsasl_session
80 Gsasl *ctx;
81 int clientp;
82 Gsasl_mechanism *mech;
83 void *mech_data;
84 void *application_hook;
85 /* Properties. */
86 char *anonymous_token;
87 char *authid;
88 char *authzid;
89 char *password;
90 char *passcode;
91 char *pin;
92 char *suggestedpin;
93 char *service;
94 char *hostname;
95 char *gssapi_display_name;
96 char *realm;
97 #ifndef GSASL_NO_OBSOLETE
98 /* Obsolete stuff. */
99 void *application_data;
100 #endif
103 #endif /* INTERNAL_H */