Std_ReturnType ComM_PreventWakeUp( NetworkHandleType Channel, boolean Status ){ COMM_VALIDATE_INIT(COMM_SERVICEID_PREVENTWAKEUP); COMM_VALIDATE_CHANNEL(Channel, COMM_SERVICEID_PREVENTWAKEUP); #if (COMM_MODE_LIMITATION_ENABLED == STD_ON) ComM_Internal_ChannelType* ChannelInternal = &ComM_Internal.Channels[Channel]; if (Status) { ChannelInternal->InhibitionStatus |= (COMM_INHIBITION_STATUS_WAKE_UP); } else { ChannelInternal->InhibitionStatus &= ~(COMM_INHIBITION_STATUS_WAKE_UP); } return E_OK; #else return E_NOT_OK; #endif }
/** @req COMM361 @req COMM105.1 @req COMM800 */ Std_ReturnType ComM_LimitChannelToNoComMode( NetworkHandleType Channel, boolean Status ){ COMM_VALIDATE_INIT(COMM_SERVICEID_LIMITCHANNELTONOCOMMODE); COMM_VALIDATE_CHANNEL(Channel, COMM_SERVICEID_LIMITCHANNELTONOCOMMODE); #if (COMM_MODE_LIMITATION_ENABLED == STD_ON) ComM_Internal_ChannelType* ChannelInternal = &ComM_Internal.Channels[Channel]; if (Status) { ChannelInternal->InhibitionStatus |= (COMM_INHIBITION_STATUS_NO_COMMUNICATION); } else { ChannelInternal->InhibitionStatus &= ~(COMM_INHIBITION_STATUS_NO_COMMUNICATION); } return E_OK; #else return E_NOT_OK; #endif }
/** @req COMM800.partially */ Std_ReturnType ComM_LimitChannelToNoComMode( NetworkHandleType Channel, boolean Status ){ COMM_VALIDATE_INIT(COMM_SERVICEID_LIMITCHANNELTONOCOMMODE); COMM_VALIDATE_CHANNEL(Channel, COMM_SERVICEID_LIMITCHANNELTONOCOMMODE); #if (COMM_MODE_LIMITATION_ENABLED == STD_ON) const ComM_ChannelType* ChannelConf = &ComM_Config->Channels[Channel]; ComM_Internal_ChannelType* ChannelInternal = &ComM_Internal.Channels[Channel]; if (Status) { ChannelInternal->InhibitionStatus |= (COMM_INHIBITION_STATUS_NO_COMMUNICATION); } else { ChannelInternal->InhibitionStatus &= ~(COMM_INHIBITION_STATUS_NO_COMMUNICATION); } return ComM_Internal_UpdateChannelState(ChannelConf, FALSE); #else (void)Status; /* Avoid compiler warning */ return E_NOT_OK; #endif }