view src/login/auth-connection.h @ 907:218e68ab290d HEAD

Initial support for Cyrus SASL 2 library. I couldn't get it to work yet though :)
author Timo Sirainen <tss@iki.fi>
date Sun, 05 Jan 2003 17:19:50 +0200
parents fd8888f6f037
children ee0b3d18edd4
line wrap: on
line source

#ifndef __AUTH_CONNECTION_H
#define __AUTH_CONNECTION_H

struct auth_request;

/* If result == AUTH_RESULT_INTERNAL_FAILURE, request may be NULL and
   reply_data_size contains the error message. */
typedef void (*AuthCallback)(struct auth_request *request,
			     unsigned int auth_process, enum auth_result result,
			     const unsigned char *reply_data,
			     size_t reply_data_size, void *context);

struct auth_request {
        enum auth_mech mech;
        struct auth_connection *conn;

	unsigned int id;
	unsigned char cookie[AUTH_COOKIE_SIZE];

	AuthCallback callback;
	void *context;

	unsigned int init_sent:1;
};

extern enum auth_mech available_auth_mechs;

int auth_init_request(enum auth_mech mech, AuthCallback callback,
		      void *context, const char **error);

void auth_continue_request(struct auth_request *request,
			   const unsigned char *data, size_t data_size);

void auth_connection_init(void);
void auth_connection_deinit(void);

#endif