📄 lcpinterfaces.c
字号:
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 + -