Home | History | Annotate | Line # | Download | only in libskey
skey.h revision 1.1
      1 /*
      2  * S/KEY v1.1b (skey.h)
      3  *
      4  * Authors:
      5  *          Neil M. Haller <nmh (at) thumper.bellcore.com>
      6  *          Philip R. Karn <karn (at) chicago.qualcomm.com>
      7  *          John S. Walden <jsw (at) thumper.bellcore.com>
      8  *
      9  * Modifications:
     10  *          Scott Chasin <chasin (at) crimelab.com>
     11  *
     12  * Main client header
     13  *
     14  * $Id: skey.h,v 1.1 1994/05/21 05:46:13 deraadt Exp $
     15  */
     16 
     17 #if	defined(__TURBOC__) || defined(__STDC__) || defined(LATTICE)
     18 #define	ANSIPROTO	1
     19 #endif
     20 
     21 #ifndef	__ARGS
     22 #ifdef	ANSIPROTO
     23 #define	__ARGS(x)	x
     24 #else
     25 #define	__ARGS(x)	()
     26 #endif
     27 #endif
     28 
     29 #ifdef SOLARIS
     30 #define setpriority(x,y,z)      z
     31 #endif
     32 
     33 /* Server-side data structure for reading keys file during login */
     34 struct skey
     35 {
     36   FILE *keyfile;
     37   char buf[256];
     38   char *logname;
     39   int n;
     40   char *seed;
     41   char *val;
     42   long recstart;		/* needed so reread of buffer is efficient */
     43 
     44 
     45 };
     46 
     47 /* Client-side structure for scanning data stream for challenge */
     48 struct mc
     49 {
     50   char buf[256];
     51   int skip;
     52   int cnt;
     53 };
     54 
     55 void f __ARGS ((char *x));
     56 int keycrunch __ARGS ((char *result, char *seed, char *passwd));
     57 char *btoe __ARGS ((char *engout, char *c));
     58 char *put8 __ARGS ((char *out, char *s));
     59 int etob __ARGS ((char *out, char *e));
     60 void rip __ARGS ((char *buf));
     61 int skeychallenge __ARGS ((struct skey * mp, char *name, char *ss));
     62 int skeylookup __ARGS ((struct skey * mp, char *name));
     63 int skeyverify __ARGS ((struct skey * mp, char *response));
     64