upap.h revision 7c478bd95313f5f23a4c958a745db2134aa03244
/*
*
* Copyright (c) 2000 by Sun Microsystems, Inc.
* All rights reserved.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation is hereby granted, provided that the above copyright
* notice appears in all copies.
*
* SUN MAKES NO REPRESENTATION OR WARRANTIES ABOUT THE SUITABILITY OF
* THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
* TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
* PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
* ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
* DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES
*
* Copyright (c) 1989 Carnegie Mellon University.
* All rights reserved.
*
* Redistribution and use in source and binary forms are permitted
* provided that the above copyright notice and this paragraph are
* duplicated in all such forms and that any documentation,
* advertising materials, and other materials related to such
* distribution and use acknowledge that the software was developed
* by Carnegie Mellon University. The name of the
* University may not be used to endorse or promote products derived
* from this software without specific prior written permission.
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* $Id: upap.h,v 1.7 1999/11/15 01:51:54 paulus Exp $
*/
#pragma ident "%Z%%M% %I% %E% SMI"
#ifndef __UPAP_H__
#define __UPAP_H__
#ifdef __cplusplus
extern "C" {
#endif
/*
* Packet header = Code, id, length.
*/
#define UPAP_HEADERLEN 4
/*
* UPAP codes.
*/
/*
* Each interface is described by upap structure.
*/
typedef struct upap_state {
int us_unit; /* Interface unit number */
char *us_user; /* User */
int us_userlen; /* User length */
char *us_passwd; /* Password */
int us_clientstate; /* Client state */
int us_serverstate; /* Server state */
int us_timeouttime; /* Timeout (seconds) for auth-req retrans. */
int us_transmits; /* Number of auth-reqs sent */
int us_maxtransmits; /* Maximum number of auth-reqs to send */
int us_receives; /* Number of auth-reqs received */
int us_maxreceives; /* Maximum number of auth-reqs allowed */
int us_reqtimeout; /* Time to wait for auth-req from peer */
char *us_msg; /* Authentication response message */
int us_msglen; /* and its length */
} upap_state;
/*
* Client states.
*/
#define UPAPCS_INITIAL 0 /* Connection down */
#define UPAPCS__NAMES \
"CliInitial", "CliClosed", "CliPending", "CliAuthReq", "CliOpen", \
"CliBadAuth"
/*
* Server states.
*/
#define UPAPSS_INITIAL 0 /* Connection down */
#define UPAPSS__NAMES \
"SrvInitial", "SrvClosed", "SrvPending", "SrvListen", "SrvOpen", \
"SrvBadAuth"
/*
* Timeouts.
*/
extern upap_state upap[];
void upap_authwithpeer __P((int, char *, char *));
void upap_authpeer __P((int));
extern struct protent pap_protent;
#ifdef __cplusplus
}
#endif
#endif /* __UPAP_H__ */