00001
00002
00003
00004
00005
00006
00007
00008 #ifndef AUTH_H
00009 #define AUTH_H
00010
00011 #include "link.h"
00012
00013 #define AUTH_SUBJECT_MAX 1024
00014 #define AUTH_TYPE_MAX 1024
00015 #define AUTH_LINE_MAX (AUTH_SUBJECT_MAX+AUTH_TYPE_MAX)
00016
00017 typedef int (*auth_assert_t) ( struct link *l, time_t stoptime );
00018 typedef int (*auth_accept_t) ( struct link *l, char **subject, time_t stoptime );
00019
00020 int auth_assert( struct link *l, char **type, char **subject, time_t stoptime );
00021 int auth_accept( struct link *l, char **type, char **subject, time_t stoptime );
00022
00023 int auth_barrier( struct link *l, const char *response, time_t stoptime );
00024 int auth_register( char *type, auth_assert_t assert, auth_accept_t accept );
00025
00026 void auth_clear();
00027
00028 #endif