Initial import from FreeBSD RELENG_4:
[dragonfly.git] / lib / libskey / skey.h
1 #ifndef _SKEY_H_
2 #define _SKEY_H_
3
4 #include <sys/cdefs.h>
5
6 /* Server-side data structure for reading keys file during login */
7 struct skey {
8         FILE *keyfile;
9         char buf[256];
10         char *logname;
11         int n;
12         char *seed;
13         char *val;
14         long    recstart; /*needed so reread of buffer is efficient*/
15 };
16
17 #ifdef _SKEY_INTERNAL
18 /* Client-side structure for scanning data stream for challenge */
19 struct mc {
20         char buf[256];
21         int skip;
22         int cnt;
23 };
24
25 #define atob8           _sk_atob8
26 #define btoa8           _sk_btoa8
27 #define btoe            _sk_btoe
28 #define etob            _sk_etob
29 #define f               _sk_f
30 #define htoi            _sk_htoi
31 #define keycrunch       _sk_keycrunch
32 #define put8            _sk_put8
33 #define readpass        _sk_readpass
34 #define rip             _sk_rip
35 #define sevenbit        _sk_sevenbit
36
37 void f __P((char *x));
38 int keycrunch __P((char *result,const char *seed,const char *passwd));
39 char *btoe __P((char *engout,char *c));
40 char *put8 __P((char *out,char *s));
41 int atob8 __P((char *out, char *in));
42 int btoa8 __P((char *out, char *in));
43 int htoi __P((char c));
44 int etob __P((char *out,char *e));
45 void sevenbit __P((char *s));
46 char *readpass __P((char *buf, int n));
47 void rip __P((char *buf));
48 #endif  /* _SKEY_INTERNAL */
49
50 /* Simplified application programming interface. */
51 #include <pwd.h>
52 int skeylookup __P((struct skey *mp, const char *name));
53 int skeyverify __P((struct skey *mp, char *response));
54 int skeychallenge __P((struct skey *mp, const char *name, char *challenge));
55 int skeyinfo __P((struct skey *mp, const char* name, char *ss));
56 int skeyaccess __P((char *user, const char *port, const char *host, const char *addr));
57 char *skey_getpass __P((const char *prompt, struct passwd * pwd, int pwok));
58 const char *skey_crypt __P((char *pp, char *salt, struct passwd *pwd, int pwok));
59
60 #endif /* _SKEY_H_ */