[go: up one dir, main page]

File: auth.h

package info (click to toggle)
cctools 9.9-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 44,624 kB
  • sloc: ansic: 192,539; python: 20,827; cpp: 20,199; sh: 11,719; perl: 4,106; xml: 3,688; makefile: 1,224
file content (34 lines) | stat: -rw-r--r-- 1,011 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/*
Copyright (C) 2003-2004 Douglas Thain and the University of Wisconsin
Copyright (C) 2005- The University of Notre Dame
This software is distributed under the GNU General Public License.
See the file COPYING for details.
*/

#ifndef AUTH_H
#define AUTH_H

#include "link.h"

struct auth_state;

#define AUTH_SUBJECT_MAX 1024
#define AUTH_TYPE_MAX 1024
#define AUTH_LINE_MAX (AUTH_SUBJECT_MAX+AUTH_TYPE_MAX)

typedef int (*auth_assert_t) (struct link * l, time_t stoptime);
typedef int (*auth_accept_t) (struct link * l, char **subject, time_t stoptime);

int auth_assert(struct link *l, char **type, char **subject, time_t stoptime);
int auth_accept(struct link *l, char **type, char **subject, time_t stoptime);

int auth_barrier(struct link *l, const char *response, time_t stoptime);
int auth_register(char *type, auth_assert_t assert, auth_accept_t accept);

void auth_clear(void);

struct auth_state *auth_clone(void);
void auth_replace(struct auth_state *);
void auth_free(struct auth_state *);

#endif