?? pppoe_disiisl.c
字號(hào):
/************************************************************************/
/* */
/* MODULE: pppoe disiisl.c */
/* PURPOSE: DISIISL for Ethernet Interface */
/* DATE: 14 MAY 2004 */
/* */
/*----------------------------------------------------------------------*/
#include <disi.h>
#include "cs8900a.h"
#include "bspfuncs.h"
#include "mygenif.h"
#include "disiisl.h"
#include "ppp.h"
#include "syslog.h"
extern IFcfg ifcfg[NPPP];
extern long csInitialize();
extern long csOpen( IFcfg *ifc, int unit );
extern long csSend( char *pDestAddr, mblk_t *pSendParms );
extern long csIoctl( unsigned long cmd, int *arg );
unsigned long pppoe_DisiISLInit();
unsigned long pppoe_DisiISLOpen(IFcfg *ifcfg, int uid);
void pppoe_DisiISLClose();
void pppoe_DisiISLSend(char *addr, mblk_t *mblk);
unsigned long pppoe_DisiISLIoctl(int uid, unsigned long cmd, void *arg);
IFentrypoint DISIentrypoint = {
pppoe_DisiISLInit,
pppoe_DisiISLOpen,
pppoe_DisiISLClose,
pppoe_DisiISLIoctl,
pppoe_DisiISLSend
};
unsigned long pppoe_DisiISLInit() {
if( csInitialize() == FAILURE )
syslog(LOG_ERR, "cs8900a initialize error");
return(0);
}
static unsigned long pppoe_DisiISLOpen(IFcfg *ifcfg, int unit) {
return( csOpen( ifcfg, unit ) );
}
void pppoe_DisiISLClose(){
}
void pppoe_DisiISLSend(char *addr, mblk_t *mp)
{
if(csSend(addr,mp) != SUCCESS)
syslog(LOG_ERR, "cs8900a send data error");
}
static unsigned long pppoe_DisiISLIoctl(int uid, unsigned long cmd, void *arg) {
int isinit=0;
int isopen=0;
switch(cmd)
{
case SETUPLINK:
csIoctl( SIOCGISINIT, &isinit );
csIoctl( SIOCGISOPEN, &isopen );
if( isinit&&isopen ) {
( *(ifcfg[uid].callback) )( (Uid) uid, LINKUP, NULL );
}
break;
}
return 0;
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -