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

📄 lcpinterfaces.c

📁 这是全套的PPP协议的源码
💻 C
📖 第 1 页 / 共 4 页
字号:
/* lcpInterfaces.c - LCP published interfaces *//* Copyright 1999 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------01o,16sep02,rp  fix for SPR 8206701n,28may02,rvr fixed build warnings (teamf1)01m,26feb02,jr	Setting the pointer to NULL after freeing01l,04feb02,ak	modified PPP_LINK_CONFIG_INTERFACE functions as part of 				memory reduction process01k,30jan02,jr	modified PPP_SECURITY_CONFIG_INTERFACE functions as part of 				memory reduction process01j,17dec00,md  removed lcpConfigurationRequestGetDupPkt()01i,01aug00,adb  Merging with openstack view01h,11jul00,md  added lcpConfigurationRequestGet() interface01g,03mar00,sj  fixed preference logic in SecurityConfigProtocolGet and Set01f,25feb00,sj  in ConfigFcsSizeSet allow only 0 16 or 32 bit FCS +             	fixed SecurityProtocolGet/Set to use localAlternateString01e,24feb00,sj  MagicNumberSet interface should toggle between supported and NOT01d,23feb00,sj  Pedandic ANSI C fixes01c,15feb00,sj  lock state before accessing stackData in Set interfaces01b,04jan100,sj  added lcpExtendedOptions and pppSecurityConfig01a,15oct99,sj 	created*/#include "private/ppp/pppLcpComponentP.h"#include "ppp/m2pppLinkGroup.h"#include "ppp/pppChecksum.h"/* TO DO - move these to pppLcpComponentP.h */IMPORT void send_lcp_protocol_reject(PFW_PLUGIN_OBJ_STATE *,M_BLK_ID rx_packet);IMPORT void removeAlternateValues (LCP_CONFIG_STRINGS * lcpOption,						    char * remoteOrLocal);/* END: TO DO */LOCAL USHORT lcpLocalMRUGet ( PFW_PLUGIN_OBJ_STATE * lcpState);LOCAL USHORT lcpRemoteMRUGet ( PFW_PLUGIN_OBJ_STATE * lcpState);LOCAL UINT32 lcpLocalToPeerACCMapGet ( PFW_PLUGIN_OBJ_STATE * lcpState);LOCAL UINT32 lcpPeerToLocalACCMapGet ( PFW_PLUGIN_OBJ_STATE * lcpState);LOCAL UINT32 lcpLocalToRemoteProtocolCompressionGet			    (			    PFW_PLUGIN_OBJ_STATE * lcpState			    );LOCAL UINT32 lcpRemoteToLocalProtocolCompressionGet			    (			    PFW_PLUGIN_OBJ_STATE * lcpState			    );LOCAL UINT32 pppLinkStatusPhysicalIndexGet(PFW_PLUGIN_OBJ_STATE * lcpState);LOCAL UINT32 pppLinkStatusBadAddressesGet(PFW_PLUGIN_OBJ_STATE * lcpState);LOCAL UINT32 pppLinkStatusBadControlsGet(PFW_PLUGIN_OBJ_STATE * lcpState);LOCAL UINT32 pppLinkStatusPacketTooLongsGet(PFW_PLUGIN_OBJ_STATE * lcpState);LOCAL UINT32 pppLinkStatusBadFCSsGet(PFW_PLUGIN_OBJ_STATE * lcpState);LOCAL ULONG pppLinkConfigInitialMRUGet (PFW_PLUGIN_OBJ_STATE * lcpState);LOCAL STATUS pppLinkConfigInitialMRUSet (PFW_PLUGIN_OBJ_STATE * lcpState,								ULONG value);LOCAL ULONG pppLinkConfigReceiveACCMapGet (PFW_PLUGIN_OBJ_STATE * lcpState);LOCAL STATUS pppLinkConfigReceiveACCMapSet (PFW_PLUGIN_OBJ_STATE * lcpState,								ULONG value);LOCAL ULONG pppLinkConfigTransmitACCMapGet (PFW_PLUGIN_OBJ_STATE * lcpState);LOCAL STATUS pppLinkConfigTransmitACCMapSet (PFW_PLUGIN_OBJ_STATE * lcpState,								ULONG value);LOCAL ULONG pppLinkConfigMagicNumberGet (PFW_PLUGIN_OBJ_STATE * lcpState);LOCAL STATUS pppLinkConfigMagicNumberSet (PFW_PLUGIN_OBJ_STATE * lcpState,								ULONG value);LOCAL ULONG pppLinkConfigFcsSizeGet (PFW_PLUGIN_OBJ_STATE * lcpState);LOCAL STATUS pppLinkConfigFcsSizeSet (PFW_PLUGIN_OBJ_STATE * lcpState,								ULONG value);LOCAL UINT32 lcpLocalToRemoteACCompressionGet (PFW_PLUGIN_OBJ_STATE * lcpState);LOCAL UINT32 lcpRemoteToLocalACCompressionGet (PFW_PLUGIN_OBJ_STATE * lcpState);LOCAL UINT32 lcpTransmitFcsSize(PFW_PLUGIN_OBJ_STATE * lcpState);LOCAL UINT32 lcpReceiveFcsSize(PFW_PLUGIN_OBJ_STATE * lcpState);LOCAL UINT32 lcpRemoteAuthenticationProtocolGet(PFW_PLUGIN_OBJ_STATE *lcpState);LOCAL UINT32 lcpLocalAuthenticationProtocolGet(PFW_PLUGIN_OBJ_STATE * lcpState);LOCAL void pppLinkStatusBadAddressesIncrement(PFW_PLUGIN_OBJ_STATE * lcpState);LOCAL void pppLinkStatusBadControlsIncrement(PFW_PLUGIN_OBJ_STATE * lcpState);LOCAL void pppLinkStatusPacketTooLongsIncrement (PFW_PLUGIN_OBJ_STATE * lcpState);LOCAL void pppLinkStatusBadFCSsIncrement(PFW_PLUGIN_OBJ_STATE * lcpState);/* LCP extended options */#if 0LOCAL BOOL pppLocalToPeerCompoundFrames (PFW_PLUGIN_OBJ_STATE * lcpState);LOCAL BOOL pppPeerToLocalCompoundFrames (PFW_PLUGIN_OBJ_STATE * lcpState);#endifLOCAL BYTE pppLocalToPeerMaxSelfDescribingPad (PFW_PLUGIN_OBJ_STATE * lcpState);LOCAL BYTE pppPeerToLocalMaxSelfDescribingPad (PFW_PLUGIN_OBJ_STATE * lcpState);LOCAL BOOL pppLocalToPeerCallbackOperation (PFW_PLUGIN_OBJ_STATE * lcpState,						BYTE * operation);LOCAL BOOL pppPeerToLocalCallbackOperation (PFW_PLUGIN_OBJ_STATE * lcpState,						BYTE * operation, char *msg);LOCAL STATUS lcpConfigurationRequestGet (PFW_PLUGIN_OBJ_STATE * lcpState,					 M_BLK_ID *initialReceived,					 M_BLK_ID *lastSent,					 M_BLK_ID *lastReceived);LOCAL void lcpConfigurationRequestSend(PFW_PLUGIN_OBJ_STATE * lcpState);LOCAL void lcpConfigurationAckSend(PFW_PLUGIN_OBJ_STATE * lcpState,						    M_BLK_ID requestPacket);LOCAL void lcpTerminationRequestSend(PFW_PLUGIN_OBJ_STATE * lcpState);LOCAL void lcpTerminationAckSend(PFW_PLUGIN_OBJ_STATE * lcpState,						    M_BLK_ID terminationRequest);LOCAL void lcpEchoRequestSend(PFW_PLUGIN_OBJ_STATE * lcpState);LOCAL void lcpEchoReplySend(PFW_PLUGIN_OBJ_STATE * lcpState,						    M_BLK_ID echoPacket);LOCAL void lcpProtocolRejectSend(PFW_PLUGIN_OBJ_STATE * lcpState,						    M_BLK_ID badPacket);LOCAL STATUS pppSecurityConfigProtocolSet (PFW_PLUGIN_OBJ_STATE * lcpState,					    ULONG preference, UINT8 * protocol,							    UINT8 protocolLen);LOCAL int  pppSecurityConfigProtocolGet (PFW_PLUGIN_OBJ_STATE * lcpState,							    ULONG preference,							    UINT8 * protocol,							    UINT8 *protocolLen);#if 0LOCAL int  pppSecurityConfigStatusGet   (PFW_PLUGIN_OBJ_STATE * lcpState,							ULONG preference,							ULONG * configStatus);#endifLOCAL STATUS pppSecurityConfigStatusSet    (PFW_PLUGIN_OBJ_STATE * lcpState,						ULONG preference,						UINT32 configStatus);/******************************************************************************** lcpInterfacesInit -*/void lcpInterfacesInit    (    PPP_LCP_COMPONENT * lcpComponent    )    {    PPP_LINK_STATUS_ENTRY_INTERFACE * lcpLinkStatusEntry = NULL;    PPP_LINK_CONFIG_ENTRY_INTERFACE * lcpLinkConfigEntry = NULL;    LCP_NEGOTIATED_AUTH_PROTOCOL_INTERFACE * lcpNegotiatedAuthProtocols = NULL;    PPP_LINK_STATUS_COUNTER_INCREMENT_INTERFACE * lcpLinkCounters = NULL;    LCP_EXTENDED_OPTIONS_INTERFACE * lcpExtendedOptions = NULL;    LCP_CONFIG_REQS_INTERFACE * lcpConfReqGet = NULL;    LCP_PACKET_SEND_INTERFACE * lcpPacketSend = NULL;    PPP_SECURITY_CONFIG_ENTRY_INTERFACE * pppSecurityConfig = NULL;    lcpLinkStatusEntry = &lcpComponent->lcpLinkStatusEntry;    lcpLinkConfigEntry = &lcpComponent->lcpLinkConfigEntry;    lcpNegotiatedAuthProtocols = &lcpComponent->lcpNegotiatedAuthProtocols;    lcpLinkCounters = &lcpComponent->lcpLinkCounters;    lcpExtendedOptions = &lcpComponent->lcpExtendedOptions;    lcpConfReqGet = &lcpComponent->lcpConfReqGet;    lcpPacketSend = &lcpComponent->lcpPacketSend;    pppSecurityConfig = &lcpComponent->pppSecurityConfigEntry;    lcpLinkStatusEntry->pppLinkStatusPhysicalIndexGet = 					    pppLinkStatusPhysicalIndexGet;    lcpLinkStatusEntry->pppLinkStatusBadAddressesGet = 					    pppLinkStatusBadAddressesGet;    lcpLinkStatusEntry->pppLinkStatusBadControlsGet = 					    pppLinkStatusBadControlsGet;    lcpLinkStatusEntry->pppLinkStatusPacketTooLongsGet =					    pppLinkStatusPacketTooLongsGet;    lcpLinkStatusEntry->pppLinkStatusBadFCSsGet = 					    pppLinkStatusBadFCSsGet;    lcpLinkStatusEntry->pppLinkStatusLocalMRUGet = lcpLocalMRUGet;    lcpLinkStatusEntry->pppLinkStatusRemoteMRUGet = lcpRemoteMRUGet;    lcpLinkStatusEntry->pppLinkStatusLocalToPeerACCMapGet =					lcpLocalToPeerACCMapGet;    lcpLinkStatusEntry->pppLinkStatusPeerToLocalACCMapGet =					lcpPeerToLocalACCMapGet;    lcpLinkStatusEntry->pppLinkStatusLocalToRemoteProtocolCompressionGet = 					lcpLocalToRemoteProtocolCompressionGet;    lcpLinkStatusEntry->pppLinkStatusRemoteToLocalProtocolCompressionGet =					lcpRemoteToLocalProtocolCompressionGet;    lcpLinkStatusEntry->pppLinkStatusLocalToRemoteACCompressionGet =					lcpLocalToRemoteACCompressionGet;    lcpLinkStatusEntry->pppLinkStatusRemoteToLocalACCompressionGet = 					lcpRemoteToLocalACCompressionGet;    lcpLinkStatusEntry->pppLinkStatusTransmitFcsSizeGet = lcpTransmitFcsSize;    lcpLinkStatusEntry->pppLinkStatusReceiveFcsSizeGet = lcpReceiveFcsSize;    /* LCP configuration */    lcpLinkConfigEntry->pppLinkConfigInitialMRUGet = pppLinkConfigInitialMRUGet;    lcpLinkConfigEntry->pppLinkConfigInitialMRUSet = pppLinkConfigInitialMRUSet;    lcpLinkConfigEntry->pppLinkConfigReceiveACCMapGet =						pppLinkConfigReceiveACCMapGet;    lcpLinkConfigEntry->pppLinkConfigReceiveACCMapSet =						pppLinkConfigReceiveACCMapSet;    lcpLinkConfigEntry->pppLinkConfigTransmitACCMapGet =						pppLinkConfigTransmitACCMapGet;    lcpLinkConfigEntry->pppLinkConfigTransmitACCMapSet =						pppLinkConfigTransmitACCMapSet;    lcpLinkConfigEntry->pppLinkConfigMagicNumberGet =						pppLinkConfigMagicNumberGet;    lcpLinkConfigEntry->pppLinkConfigMagicNumberSet =						pppLinkConfigMagicNumberSet;    lcpLinkConfigEntry->pppLinkConfigFcsSizeGet = pppLinkConfigFcsSizeGet;    lcpLinkConfigEntry->pppLinkConfigFcsSizeSet = pppLinkConfigFcsSizeSet;    /* auth protocols */    lcpNegotiatedAuthProtocols->pppLocalAuthenticationProtocolGet = 					lcpLocalAuthenticationProtocolGet;    lcpNegotiatedAuthProtocols->pppRemoteAuthenticationProtocolGet = 					lcpRemoteAuthenticationProtocolGet;    /* link counters */    lcpLinkCounters->pppLinkStatusBadAddressesIncrement =					pppLinkStatusBadAddressesIncrement;    lcpLinkCounters->pppLinkStatusBadControlsIncrement =					pppLinkStatusBadControlsIncrement;    lcpLinkCounters->pppLinkStatusPacketTooLongsIncrement  =					pppLinkStatusPacketTooLongsIncrement ;    lcpLinkCounters->pppLinkStatusBadFCSsIncrement =					pppLinkStatusBadFCSsIncrement;    /* extended options */#if 0    lcpExtendedOptions->pppLocalToPeerCompoundFrames = 						pppLocalToPeerCompoundFrames;    lcpExtendedOptions->pppPeerToLocalCompoundFrames = 						pppPeerToLocalCompoundFrames;#endif    lcpExtendedOptions->pppLocalToPeerMaxSelfDescribingPad = 					    pppLocalToPeerMaxSelfDescribingPad;    lcpExtendedOptions->pppPeerToLocalMaxSelfDescribingPad = 					    pppPeerToLocalMaxSelfDescribingPad;    lcpExtendedOptions->pppLocalToPeerCallbackOperation = 						pppLocalToPeerCallbackOperation;    lcpExtendedOptions->pppPeerToLocalCallbackOperation = 						pppPeerToLocalCallbackOperation;    /* lcp config req get */    lcpConfReqGet->lcpConfigReqsGet = lcpConfigurationRequestGet;    /* packet send */    lcpPacketSend->lcpConfigurationRequestSend = lcpConfigurationRequestSend;    lcpPacketSend->lcpConfigurationAckSend = lcpConfigurationAckSend;    lcpPacketSend->lcpTerminationRequestSend = lcpTerminationRequestSend;    lcpPacketSend->lcpTerminationAckSend = lcpTerminationAckSend;    lcpPacketSend->lcpEchoRequestSend = lcpEchoRequestSend;    lcpPacketSend->lcpEchoReplySend = lcpEchoReplySend;    lcpPacketSend->lcpProtocolRejectSend = lcpProtocolRejectSend;    /* security config */    pppSecurityConfig->pppSecurityConfigProtocolGet = 										pppSecurityConfigProtocolGet;    pppSecurityConfig->pppSecurityConfigProtocolSet = 										pppSecurityConfigProtocolSet;#if 0    pppSecurityConfig->pppSecurityConfigStatusGet   =					pppSecurityConfigStatusGet;#endif    pppSecurityConfig->pppSecurityConfigStatusSet = pppSecurityConfigStatusSet;    }/******************************************************************************** pppLinkStatusPhysicalIndexGet -*/LOCAL UINT32 pppLinkStatusPhysicalIndexGet    (    PFW_PLUGIN_OBJ_STATE * lcpState    )    {    LCP_STACK_DATA * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    return(pStackData->lcp_mibs.pppLinkStatusPhysicalIndex);    }/******************************************************************************** pppLinkStatusBadAddressesGet -*/LOCAL UINT32 pppLinkStatusBadAddressesGet    (    PFW_PLUGIN_OBJ_STATE * lcpState    )    {    LCP_STACK_DATA * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    return(pStackData->lcp_mibs.pppLinkStatusBadAddresses);    }/******************************************************************************** pppLinkStatusBadControlsGet -*/LOCAL UINT32 pppLinkStatusBadControlsGet    (    PFW_PLUGIN_OBJ_STATE * lcpState    )    {    LCP_STACK_DATA * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    return(pStackData->lcp_mibs.pppLinkStatusBadControls);    }/******************************************************************************** pppLinkStatusPacketTooLongsGet -*/LOCAL UINT32 pppLinkStatusPacketTooLongsGet    (    PFW_PLUGIN_OBJ_STATE * lcpState    )    {    LCP_STACK_DATA * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    return(pStackData->lcp_mibs.pppLinkStatusPacketTooLongs);    }/******************************************************************************** pppLinkStatusBadFCSsGet -*/LOCAL UINT32 pppLinkStatusBadFCSsGet    (    PFW_PLUGIN_OBJ_STATE * lcpState    )    {    LCP_STACK_DATA * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    return(pStackData->lcp_mibs.pppLinkStatusBadFCSs);    }/******************************************************************************** lcpLocalMRUGet -*/LOCAL USHORT lcpLocalMRUGet    (    PFW_PLUGIN_OBJ_STATE * lcpState    )    {    LCP_STACK_DATA * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    return(pStackData->lcp_mibs.pppLinkStatusLocalMRU);    }/******************************************************************************** lcpRemoteMRUGet -*/LOCAL USHORT lcpRemoteMRUGet    (    PFW_PLUGIN_OBJ_STATE * lcpState    )    {    LCP_STACK_DATA * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    return(pStackData->lcp_mibs.pppLinkStatusRemoteMRU);    }/******************************************************************************** lcpLocalToPeerACCMapGet -*/LOCAL UINT32 lcpLocalToPeerACCMapGet    (    PFW_PLUGIN_OBJ_STATE * lcpState    )    {    LCP_STACK_DATA * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    return(pStackData->lcp_mibs.pppLinkStatusLocalToPeerACCMap);    }/******************************************************************************** lcpPeerToLocalACCMapGet -*/LOCAL UINT32 lcpPeerToLocalACCMapGet    (    PFW_PLUGIN_OBJ_STATE * lcpState    )    {    LCP_STACK_DATA * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    return(pStackData->lcp_mibs.pppLinkStatusPeerToLocalACCMap);    }/******************************************************************************** lcpLocalToRemoteProtocolCompressionGet -*/LOCAL UINT32 lcpLocalToRemoteProtocolCompressionGet    (    PFW_PLUGIN_OBJ_STATE * lcpState    )    {    LCP_STACK_DATA * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    return(pStackData->lcp_mibs.pppLinkStatusLocalToRemoteProtocolCompression);    }/******************************************************************************** lcpRemoteToLocalProtocolCompressionGet -

⌨️ 快捷键说明

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