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