⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 upap.h

📁 在ARM7和UC/OSII的平台上实现了GPS自动报站的功能,涉及GPS模块LEA_4S的驱动,位置速寻算法,语音芯片ISD4004的录放音驱动,LED页面管理等等.从启动代码到操作系统的移植以及到业
💻 H
字号:
/*
 * FILENAME: upap.h
 *
 * Copyright 1997- 2001 By InterNiche Technologies Inc. All rights reserved
 *
 *  User/Password Authentication Protocol definitions.
 *
 * MODULE: PPP
 *
 *
 * PORTABLE: yes
 */

/* Additional Copyrights: */

/* Portions Copyright 1996 by NetPort Software. 
 * Portions 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.
 */

#ifndef _UPAP_H
#define  _UPAP_H  1


/*
 * UPAP codes.
 */
#define  UPAP_AUTHREQ   1  /* Authenticate-Request */
#define  UPAP_AUTHACK   2  /* Authenticate-Ack */
#define  UPAP_AUTHNAK   3  /* Authenticate-Nak */


/*
 * Each interface is described by upap structure.
 */
typedef struct upap_state 
{
     M_PPP  mppp;             /* PPP link */
     char * us_user;          /* User */
     int    us_userlen;       /* User length */
     char * us_passwd;        /* Password */
     int    us_passwdlen;     /* Password length */
     int    us_clientstate;   /* Client state */
     int    us_serverstate;   /* Server state */
     u_char us_id;            /* Current id */
     int    us_timeouttime;   /* Timeout time in seconds */
     int    us_transmits;     /* Number of auth-reqs sent */
     int    us_maxtransmits;  /* Maximum number of auth-reqs to send */
     int    us_reqtimeout;    /* Time to wait for auth-req from peer */
} upap_state;


/*
 * Client states.
 */
#define  UPAPCS_INITIAL    0  /* Connection down */
#define  UPAPCS_CLOSED     1  /* Connection up, haven't requested auth */
#define  UPAPCS_PENDING    2  /* Connection down, have requested auth */
#define  UPAPCS_AUTHREQ    3  /* We've sent an Authenticate-Request */
#define  UPAPCS_OPEN       4  /* We've received an Ack */
#define  UPAPCS_BADAUTH    5  /* We've received a Nak */

/*
 * Server states.
 */
#define  UPAPSS_INITIAL    0  /* Connection down */
#define  UPAPSS_CLOSED     1  /* Connection up, haven't requested auth */
#define  UPAPSS_PENDING    2  /* Connection down, have requested auth */
#define  UPAPSS_LISTEN     3  /* Listening for an Authenticate */
#define  UPAPSS_OPEN       4  /* We've sent an Ack */
#define  UPAPSS_BADAUTH    5  /* We've sent a Nak */


/*
 * Timeouts.
 */
#define  UPAP_DEFTIMEOUT   3  /* Timeout time in seconds */
#define  UPAP_DEFREQTIME   30 /* Time to wait for auth-req from peer */


void     upap_init (M_PPP);
void     upap_authwithpeer (M_PPP);
void     upap_authpeer (M_PPP);
void     upap_lowerup (M_PPP);
void     upap_lowerdown (M_PPP);
void     upap_input (M_PPP, u_char *, int);
void     upap_protrej (M_PPP);

int      upap_printpkt (u_char *, int);

extern auth_funcs upap_authtable;

/* port provided function to verify UPAP password */

int   check_passwd(M_PPP mpp, char * ruser, int userlen, 
         char * rpasswd, int rpasswdlen, char ** msg, int * msglen);

#endif   /* _UPAP_H */


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -