view src/auth/auth.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 411006be3c66
line wrap: on
line source

#ifndef __AUTH_H
#define __AUTH_H

#include "auth-interface.h"

typedef void (*AuthCallback)(struct auth_reply_data *reply,
			     const void *data, void *context);

struct auth_module {
	enum auth_mech mech;

	void (*init)(unsigned int login_pid,
		     struct auth_init_request_data *request,
		     AuthCallback callback, void *context);
};

extern enum auth_mech auth_mechanisms;
extern const char *const *auth_realms;

void auth_register_module(struct auth_module *module);
void auth_unregister_module(struct auth_module *module);

void auth_init_request(unsigned int login_pid,
		       struct auth_init_request_data *request,
		       AuthCallback callback, void *context);
void auth_continue_request(unsigned int login_pid,
			   struct auth_continued_request_data *request,
			   const unsigned char *data,
			   AuthCallback callback, void *context);

void auth_cyrus_sasl_init_lib(void);
void auth_cyrus_sasl_init(unsigned int login_pid,
			  struct auth_init_request_data *request,
			  AuthCallback callback, void *context);

void auth_init(void);
void auth_deinit(void);

#endif