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

📄 lcpinterfaces.c

📁 这是全套的PPP协议的源码
💻 C
📖 第 1 页 / 共 4 页
字号:
	    if (optionEntry != NULL)		    	{	       	pfwFree(optionEntry);	      	optionEntry = NULL;	    	}		}	pStackData->lcp_mibs.pppLinkConfigMagicNumber = value;	free_ppp_tx_accepted_option_list(&pStackData->option_lists.tx_accepted);	pfwPluginObjStateRelease(lcpState);	return OK;	}    bzero(partialString,sizeof(partialString));    sprintf(partialString,"Local:Negotiation Required,Negotiable:0");    if ((status=generate_option_list_entry(pfw,&pStackData->option_lists,					    partialString,					    lcpOption->name,					    lcpOption->optionType,"LCP",					    lcpOption->optionTypeString)) != OK)	    {	    pfwPluginObjStateRelease(lcpState);	    return ERROR;	    }	        if (status == OK)	{	pStackData->lcp_mibs.pppLinkConfigMagicNumber = value;	free_ppp_tx_accepted_option_list(&pStackData->option_lists.tx_accepted);	}    pfwPluginObjStateRelease(lcpState);    return status;    }/******************************************************************************** pppLinkConfigFcsSizeGet -*/LOCAL ULONG pppLinkConfigFcsSizeGet     (    PFW_PLUGIN_OBJ_STATE * lcpState    )    {    LCP_STACK_DATA * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    return (pStackData->lcp_mibs.pppLinkConfigFcsSize);    }/******************************************************************************** pppLinkConfigFcsSizeSet -*/LOCAL STATUS pppLinkConfigFcsSizeSet      (    PFW_PLUGIN_OBJ_STATE * lcpState,    ULONG value    )    {    STATUS status;    LCP_STACK_DATA      * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    UINT8               fcsSize = 0;    char                partialString[256];    LCP_CONFIG_OPTION   * lcpOption = NULL;    PPP_LCP_COMPONENT   * pComponentData = NULL;    PFW_OBJ             * pfw = NULL;	bzero (partialString, sizeof (partialString));    if (value != PPP_NULL_FCS && value != PPP_16BIT_FCS && 	value != PPP_32BIT_FCS)	return ERROR;	if (lcpState == NULL)		return ERROR;	if ((pfw = pfwStackObjPfwGet (lcpState->stackObj)) == NULL)		return ERROR;    pComponentData = (PPP_LCP_COMPONENT *)pfwPluginObjGet (pfw, "PPP_LCP");	if (pComponentData == NULL)		return ERROR;    lcpOption = &pComponentData->option [LCP_FCS_ALTERNATIVES];    if (lcpOption == NULL)        return ERROR;         if (pfwPluginObjStateLock(lcpState) != OK)	return (ERROR);    if (pStackData->lcp_mibs.pppLinkConfigFcsSize == value)	{	pfwPluginObjStateRelease(lcpState);	return OK;	}    /* convert MIB II number to LCP option values */    switch(value)	{	case PPP_NULL_FCS:	    fcsSize = 1;	    break;	case PPP_16BIT_FCS:	    fcsSize = 2;	    break;	case PPP_32BIT_FCS:	    fcsSize = 4;	    break;	}    bzero(partialString,sizeof(partialString));    sprintf(partialString,"Local:Negotiation Required,Negotiable:%1d", fcsSize);    if ((status=generate_option_list_entry(pfw,&pStackData->option_lists,					    partialString,					    lcpOption->name,					    lcpOption->optionType,"LCP",					    lcpOption->optionTypeString)) != OK)	    {	    pfwPluginObjStateRelease(lcpState);	    return ERROR;	    }    if (status == OK)	{	pStackData->lcp_mibs.pppLinkConfigFcsSize = value;	free_ppp_tx_accepted_option_list(&pStackData->option_lists.tx_accepted);	}    pfwPluginObjStateRelease(lcpState);    return OK;    }/******************************************************************************** pppLinkStatusBadAddressesIncrement -*/LOCAL void pppLinkStatusBadAddressesIncrement    (    PFW_PLUGIN_OBJ_STATE * lcpState    )    {    LCP_STACK_DATA * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    pStackData->lcp_mibs.pppLinkStatusBadAddresses++;    }/******************************************************************************** pppLinkStatusBadControlsIncrement -*/LOCAL void pppLinkStatusBadControlsIncrement    (    PFW_PLUGIN_OBJ_STATE * lcpState    )    {    LCP_STACK_DATA * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    pStackData->lcp_mibs.pppLinkStatusBadControls++;    }/*********************************************************************************/LOCAL void pppLinkStatusPacketTooLongsIncrement    (    PFW_PLUGIN_OBJ_STATE * lcpState    )    {    LCP_STACK_DATA * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    pStackData->lcp_mibs.pppLinkStatusPacketTooLongs++;    }/******************************************************************************** pppLinkStatusBadFCSsIncrement -*/LOCAL void pppLinkStatusBadFCSsIncrement    (    PFW_PLUGIN_OBJ_STATE * lcpState    )    {    LCP_STACK_DATA * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    pStackData->lcp_mibs.pppLinkStatusBadFCSs++;    }#if 0/******************************************************************************** pppLocalToPeerCompoundFrames -*/LOCAL BOOL pppLocalToPeerCompoundFrames    (    PFW_PLUGIN_OBJ_STATE * lcpState    )    {    LCP_STACK_DATA * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    return (pStackData->lcpExtensions.pppLocalToPeerCompoundFrames);    }/******************************************************************************** pppPeerToLocalCompoundFrames -*/LOCAL BOOL pppPeerToLocalCompoundFrames    (    PFW_PLUGIN_OBJ_STATE * lcpState    )    {    LCP_STACK_DATA * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    return (pStackData->lcpExtensions.pppPeerToLocalCompoundFrames);    }#endif /******************************************************************************** pppLocalToPeerMaxSelfDescribingPad -*/LOCAL BYTE pppLocalToPeerMaxSelfDescribingPad    (    PFW_PLUGIN_OBJ_STATE * lcpState    )    {    LCP_STACK_DATA * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    return (pStackData->lcpExtensions.pppLocalToPeerMaxSelfDescribingPad);    }/******************************************************************************** pppPeerToLocalMaxSelfDescribingPad -*/LOCAL BYTE pppPeerToLocalMaxSelfDescribingPad    (    PFW_PLUGIN_OBJ_STATE * lcpState    )    {    LCP_STACK_DATA * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    return (pStackData->lcpExtensions.pppPeerToLocalMaxSelfDescribingPad);    }/******************************************************************************** pppLocalToPeerCallbackOperation -*/LOCAL BOOL pppLocalToPeerCallbackOperation    (    PFW_PLUGIN_OBJ_STATE * lcpState,    BYTE * operation    )    {    LCP_STACK_DATA * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    if (pStackData->lcpExtensions.pppLocalToPeerCallbackOperation != 255)	{	*operation = pStackData->lcpExtensions.pppLocalToPeerCallbackOperation;	return TRUE;	}    return FALSE;    }/******************************************************************************** pppPeerToLocalCallbackOperation -*/LOCAL BOOL pppPeerToLocalCallbackOperation    (    PFW_PLUGIN_OBJ_STATE * lcpState,    BYTE * operation,    char * msg    )    {    LCP_STACK_DATA * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    if (pStackData->lcpExtensions.pppPeerToLocalCallbackOperation != 255)	{	*operation = pStackData->lcpExtensions.pppPeerToLocalCallbackOperation;	strcpy(msg,pStackData->lcpExtensions.pppPeerToLocalCallbackMsg);	return TRUE;	}    return FALSE;    }/******************************************************************************** lcpConfigurationRequestGet -*/LOCAL STATUS lcpConfigurationRequestGet(PFW_PLUGIN_OBJ_STATE * lcpState,					M_BLK_ID *initialReceived,					M_BLK_ID *lastSent,					M_BLK_ID *lastReceived)    {    LCP_STACK_DATA * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    if ((initialReceived || lastSent || lastReceived) == 0)	return (ERROR);    if ((pStackData->copy_of_initial_rxed_lcp_configuration_request_packet	 || pStackData->copy_of_last_txed_lcp_configuration_request_packet	 || pStackData->copy_of_last_rxed_lcp_configuration_request_packet) == 0)	 return (ERROR);    *initialReceived = pStackData->copy_of_initial_rxed_lcp_configuration_request_packet;    *lastSent = pStackData->copy_of_last_txed_lcp_configuration_request_packet;    *lastReceived = pStackData->copy_of_last_rxed_lcp_configuration_request_packet;    pStackData->copy_of_initial_rxed_lcp_configuration_request_packet = NULL;    pStackData->copy_of_last_txed_lcp_configuration_request_packet = NULL;    pStackData->copy_of_last_rxed_lcp_configuration_request_packet = NULL;    return (OK);    }/******************************************************************************** lcpConfigurationRequestSend -*/LOCAL void lcpConfigurationRequestSend    (    PFW_PLUGIN_OBJ_STATE * lcpState    )    {    LCP_STACK_DATA * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    pStackData->stateData.action_table->send_configuration_request(lcpState,0,0);    }/******************************************************************************** lcpConfigurationAckSend -*/LOCAL void lcpConfigurationAckSend    (    PFW_PLUGIN_OBJ_STATE * lcpState,    M_BLK_ID               configureRequestPacket    )    {    LCP_STACK_DATA * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    pStackData->stateData.action_table->send_configuration_ack(lcpState, 						    configureRequestPacket,0);    }/******************************************************************************** lcpTerminationRequestSend -*/LOCAL void lcpTerminationRequestSend    (    PFW_PLUGIN_OBJ_STATE * lcpState    )    {    LCP_STACK_DATA * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    pStackData->stateData.action_table->send_termination_request(lcpState,0,0);    }/******************************************************************************** lcpTerminationAckSend -*/LOCAL void lcpTerminationAckSend    (    PFW_PLUGIN_OBJ_STATE * lcpState,    M_BLK_ID               terminationRequest    )    {    LCP_STACK_DATA * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    pStackData->stateData.action_table->send_termination_ack(lcpState, 							terminationRequest,0);    }/******************************************************************************** lcpEchoRequestSend -*/LOCAL void lcpEchoRequestSend    (    PFW_PLUGIN_OBJ_STATE * lcpState    )    {    LCP_STACK_DATA * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    pStackData->stateData.action_table->send_echo_request(lcpState, 0,0);    }/******************************************************************************** lcpEchoReplySend -*/LOCAL void lcpEchoReplySend    (    PFW_PLUGIN_OBJ_STATE * lcpState,    M_BLK_ID               echoRequestPacket    )    {    LCP_STACK_DATA * pStackData = (LCP_STACK_DATA *)lcpState->stackData;    pStackData->stateData.action_table->send_echo_reply(lcpState, 							echoRequestPacket,0);    }/******************************************************************************** lcpProtocolRejectSend -*/LOCAL void lcpProtocolRejectSend    (    PFW_PLUGIN_OBJ_STATE * lcpState,    M_BLK_ID               badPacket    )    {    send_lcp_protocol_reject(lcpState,badPacket);    }/******************************************************************************** pppSecurityConfigProtocolGet -*/LOCAL int  pppSecurityConfigProtocolGet    (    PFW_PLUGIN_OBJ_STATE * lcpState,    ULONG preference,    UINT8 * protocol,    UINT8 * protocolLen    )

⌨️ 快捷键说明

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