本文整理汇总了C++中sci_base_state_machine_get_state函数的典型用法代码示例。如果您正苦于以下问题:C++ sci_base_state_machine_get_state函数的具体用法?C++ sci_base_state_machine_get_state怎么用?C++ sci_base_state_machine_get_state使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了sci_base_state_machine_get_state函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: scif_sas_remote_device_stopped_start_handler
/**
* @brief This method provides STOPPED state specific handling for
* when the framework attempts to start the remote device. This
* method attempts to transition the state machine into the
* STARTING state. If this is unsuccessful, then there is a direct
* transition into the FAILED state.
*
* @param[in] remote_device This parameter specifies the remote device
* object for which the framework is attempting to start.
*
* @return This method returns an indication as to whether the start
* operating began successfully.
*/
static
SCI_STATUS scif_sas_remote_device_stopped_start_handler(
SCI_BASE_REMOTE_DEVICE_T * remote_device
)
{
SCIF_SAS_REMOTE_DEVICE_T * fw_device = (SCIF_SAS_REMOTE_DEVICE_T *)
remote_device;
sci_base_state_machine_change_state(
&fw_device->parent.state_machine, SCI_BASE_REMOTE_DEVICE_STATE_STARTING
);
// Check to see if the state transition occurred without issue.
if (sci_base_state_machine_get_state(&fw_device->parent.state_machine)
== SCI_BASE_REMOTE_DEVICE_STATE_FAILED)
{
SCIF_LOG_WARNING((
sci_base_object_get_logger(fw_device),
SCIF_LOG_OBJECT_REMOTE_DEVICE | SCIF_LOG_OBJECT_DOMAIN_DISCOVERY,
"Domain:0x%x Device:0x%x Status:0x%x failed to start\n",
fw_device->domain, fw_device, fw_device->operation_status
));
}
return fw_device->operation_status;
}
示例2: scif_sas_remote_device_default_ready_handler
/**
* @brief This method provides default handling (i.e. returns an error);
* for when the core issues a ready notification and such a
* notification isn't supported.
*
* @param[in] remote_device This parameter specifies the remote device object
* for which the notification has occured.
*
* @return none.
*/
void scif_sas_remote_device_default_ready_handler(
SCIF_SAS_REMOTE_DEVICE_T * fw_device
)
{
SCIF_LOG_WARNING((
sci_base_object_get_logger(fw_device),
SCIF_LOG_OBJECT_REMOTE_DEVICE,
"RemoteDevice:0x%x State:0x%x invalid state to handle ready\n",
fw_device,
sci_base_state_machine_get_state(&fw_device->parent.state_machine)
));
}
示例3: sci_base_state_machine_observer_default_update
void sci_base_state_machine_observer_default_update(
SCI_BASE_OBSERVER_T *this_observer,
SCI_BASE_SUBJECT_T *the_subject
)
{
SCI_BASE_STATE_MACHINE_OBSERVER_T *state_machine_observer;
state_machine_observer = (SCI_BASE_STATE_MACHINE_OBSERVER_T *)this_observer;
state_machine_observer->subject_state =
sci_base_state_machine_get_state((SCI_BASE_STATE_MACHINE_T *)the_subject);
}
示例4: scic_sds_remote_node_context_resuming_state_event_handler
static
SCI_STATUS scic_sds_remote_node_context_resuming_state_event_handler(
struct SCIC_SDS_REMOTE_NODE_CONTEXT * this_rnc,
U32 event_code
)
{
SCI_STATUS status;
if (scu_get_event_code(event_code) == SCU_EVENT_POST_RCN_RELEASE)
{
status = SCI_SUCCESS;
sci_base_state_machine_change_state(
&this_rnc->state_machine,
SCIC_SDS_REMOTE_NODE_CONTEXT_READY_STATE
);
}
else
{
switch (scu_get_event_type(event_code))
{
case SCU_EVENT_TYPE_RNC_SUSPEND_TX:
case SCU_EVENT_TYPE_RNC_SUSPEND_TX_RX:
// We really dont care if the hardware is going to suspend
// the device since it's being resumed anyway
SCIC_LOG_INFO((
sci_base_object_get_logger(this_rnc->device),
SCIC_LOG_OBJECT_SSP_REMOTE_TARGET |
SCIC_LOG_OBJECT_SMP_REMOTE_TARGET |
SCIC_LOG_OBJECT_STP_REMOTE_TARGET,
"SCIC Remote Node Context 0x%x was suspeneded by hardware while being resumed.\n",
this_rnc
));
status = SCI_SUCCESS;
break;
default:
SCIC_LOG_WARNING((
sci_base_object_get_logger(this_rnc->device),
SCIC_LOG_OBJECT_SSP_REMOTE_TARGET |
SCIC_LOG_OBJECT_SMP_REMOTE_TARGET |
SCIC_LOG_OBJECT_STP_REMOTE_TARGET,
"SCIC Remote Node Context 0x%x requested to process event 0x%x while in state %d.\n",
this_rnc, event_code, sci_base_state_machine_get_state(&this_rnc->state_machine)
));
status = SCI_FAILURE;
break;
}
}
return status;
}
示例5: scic_sds_remote_node_context_is_ready
/**
* This method will return TRUE if the remote node context is in a READY state
* otherwise it will return FALSE
*
* @param[in] this_rnc The state of the remote node context object to check.
*
* @return BOOL
* @retval TRUE if the remote node context is in the ready state.
* @retval FALSE if the remote node context is not in the ready state.
*/
BOOL scic_sds_remote_node_context_is_ready(
SCIC_SDS_REMOTE_NODE_CONTEXT_T * this_rnc
)
{
U32 current_state = sci_base_state_machine_get_state(&this_rnc->state_machine);
if (current_state == SCIC_SDS_REMOTE_NODE_CONTEXT_READY_STATE)
{
return TRUE;
}
return FALSE;
}
示例6: scif_sas_remote_device_default_stop_complete_handler
/**
* @brief This method provides default handling (i.e. returns an error);
* for when the core issues a stop completion notification and
* such a notification isn't supported.
*
* @param[in] remote_device This parameter specifies the remote device object
* for which the completion notification has occured.
* @param[in] completion_status This parameter specifies the status
* of the completion operation.
*
* @return none.
*/
void scif_sas_remote_device_default_stop_complete_handler(
SCIF_SAS_REMOTE_DEVICE_T * fw_device,
SCI_STATUS completion_status
)
{
SCIF_LOG_WARNING((
sci_base_object_get_logger(fw_device),
SCIF_LOG_OBJECT_REMOTE_DEVICE,
"RemoteDevice:0x%x State:0x%x invalid state to stop complete\n",
fw_device,
sci_base_state_machine_get_state(&fw_device->parent.state_machine)
));
}
示例7: scif_sas_remote_device_default_reset_complete_handler
/**
* @brief This method provides default handling (i.e. returns an error);
* when there is an attempt to complete a reset to the remote device
* from an invalid state.
*
* @param[in] remote_device This parameter specifies the remote device
* object on which there is an attempt to fail the device.
*
* @return This method returns an indication that the fail transition is not
* allowed.
* @retval SCI_FAILURE_INVALID_STATE This value is always returned.
*/
SCI_STATUS scif_sas_remote_device_default_reset_complete_handler(
SCI_BASE_REMOTE_DEVICE_T * remote_device
)
{
SCIF_LOG_WARNING((
sci_base_object_get_logger((SCIF_SAS_REMOTE_DEVICE_T *)remote_device),
SCIF_LOG_OBJECT_REMOTE_DEVICE,
"RemoteDevice:0x%x State:0x%x invalid state to complete reset.\n",
remote_device,
sci_base_state_machine_get_state(
&((SCIF_SAS_REMOTE_DEVICE_T *)remote_device)->parent.state_machine)
));
return SCI_FAILURE_INVALID_STATE;
}
示例8: scif_sas_remote_device_default_start_task_handler
/**
* @brief This method provides default handling (i.e. returns an error);
* when a user attempts to start a task on a remote device and a
* start task operation is not allowed.
*
* @param[in] remote_device This parameter specifies the remote device
* object on which the user is attempting to perform a start
* task operation.
* @param[in] task_request This parameter specifies the task management
* request to be started.
*
* @return This method returns an indication that start task operations
* are not allowed.
* @retval SCI_FAILURE_INVALID_STATE This value is always returned.
*/
SCI_STATUS scif_sas_remote_device_default_start_task_handler(
SCI_BASE_REMOTE_DEVICE_T * remote_device,
SCI_BASE_REQUEST_T * task_request
)
{
SCIF_LOG_WARNING((
sci_base_object_get_logger((SCIF_SAS_REMOTE_DEVICE_T *)remote_device),
SCIF_LOG_OBJECT_REMOTE_DEVICE | SCIF_LOG_OBJECT_TASK_MANAGEMENT,
"RemoteDevice:0x%x State:0x%x invalid state to start task\n",
remote_device,
sci_base_state_machine_get_state(
&((SCIF_SAS_REMOTE_DEVICE_T *)remote_device)->parent.state_machine)
));
return SCI_FAILURE_INVALID_STATE;
}
示例9: scic_sds_remote_node_context_default_event_handler
static
SCI_STATUS scic_sds_remote_node_context_default_event_handler(
struct SCIC_SDS_REMOTE_NODE_CONTEXT * this_rnc,
U32 event_code
)
{
SCIC_LOG_WARNING((
sci_base_object_get_logger(this_rnc->device),
SCIC_LOG_OBJECT_SSP_REMOTE_TARGET |
SCIC_LOG_OBJECT_SMP_REMOTE_TARGET |
SCIC_LOG_OBJECT_STP_REMOTE_TARGET,
"SCIC Remote Node Context 0x%x requested to process event 0x%x while in wrong state %d\n",
this_rnc, event_code, sci_base_state_machine_get_state(&this_rnc->state_machine)
));
return SCI_FAILURE_INVALID_STATE;
}
示例10: scic_sds_remote_node_context_await_suspension_state_event_handler
static
SCI_STATUS scic_sds_remote_node_context_await_suspension_state_event_handler(
struct SCIC_SDS_REMOTE_NODE_CONTEXT * this_rnc,
U32 event_code
)
{
SCI_STATUS status;
switch (scu_get_event_type(event_code))
{
case SCU_EVENT_TL_RNC_SUSPEND_TX:
sci_base_state_machine_change_state(
&this_rnc->state_machine,
SCIC_SDS_REMOTE_NODE_CONTEXT_TX_SUSPENDED_STATE
);
this_rnc->suspension_code = scu_get_event_specifier(event_code);
status = SCI_SUCCESS;
break;
case SCU_EVENT_TL_RNC_SUSPEND_TX_RX:
sci_base_state_machine_change_state(
&this_rnc->state_machine,
SCIC_SDS_REMOTE_NODE_CONTEXT_TX_RX_SUSPENDED_STATE
);
this_rnc->suspension_code = scu_get_event_specifier(event_code);
status = SCI_SUCCESS;
break;
default:
SCIC_LOG_WARNING((
sci_base_object_get_logger(this_rnc->device),
SCIC_LOG_OBJECT_SSP_REMOTE_TARGET |
SCIC_LOG_OBJECT_SMP_REMOTE_TARGET |
SCIC_LOG_OBJECT_STP_REMOTE_TARGET,
"SCIC Remote Node Context 0x%x requested to process event 0x%x while in state %d.\n",
this_rnc, event_code, sci_base_state_machine_get_state(&this_rnc->state_machine)
));
status = SCI_FAILURE;
break;
}
return status;
}
示例11: scic_sds_remote_node_context_reset_required_start_io_handler
// ---------------------------------------------------------------------------
static
SCI_STATUS scic_sds_remote_node_context_reset_required_start_io_handler(
struct SCIC_SDS_REMOTE_NODE_CONTEXT * this_rnc,
struct SCIC_SDS_REQUEST * the_request
)
{
SCIC_LOG_WARNING((
sci_base_object_get_logger(this_rnc->device),
SCIC_LOG_OBJECT_SSP_REMOTE_TARGET |
SCIC_LOG_OBJECT_SMP_REMOTE_TARGET |
SCIC_LOG_OBJECT_STP_REMOTE_TARGET,
"SCIC Remote Node Context 0x%x requested to start io 0x%x while in wrong state %d\n",
this_rnc, the_request, sci_base_state_machine_get_state(&this_rnc->state_machine)
));
return SCI_FAILURE_REMOTE_DEVICE_RESET_REQUIRED;
}
示例12: scif_sas_remote_device_default_complete_high_priority_io_handler
/**
* @brief This method provides default handling (i.e. returns an error);
* when a user attempts to complete an IO on a remote device and a
* complete IO operation is not allowed.
*
* @param[in] remote_device This parameter specifies the remote device
* object on which the user is attempting to perform a start IO
* operation.
* @param[in] io_request This parameter specifies the IO request to be
* started.
*
* @return This method returns an indication that complete IO operations
* are not allowed.
* @retval SCI_FAILURE_INVALID_STATE This value is always returned.
*/
SCI_STATUS scif_sas_remote_device_default_complete_high_priority_io_handler(
SCI_BASE_REMOTE_DEVICE_T * remote_device,
SCI_BASE_REQUEST_T * io_request,
void * response_data,
SCI_IO_STATUS completion_status
)
{
SCIF_LOG_WARNING((
sci_base_object_get_logger((SCIF_SAS_REMOTE_DEVICE_T *)remote_device),
SCIF_LOG_OBJECT_REMOTE_DEVICE,
"RemoteDevice:0x%x State:0x%x invalid state to complete high priority IO\n",
remote_device,
sci_base_state_machine_get_state(
&((SCIF_SAS_REMOTE_DEVICE_T *)remote_device)->parent.state_machine)
));
return SCI_FAILURE_INVALID_STATE;
}
示例13: scic_sds_remote_node_context_default_resume_handler
static
SCI_STATUS scic_sds_remote_node_context_default_resume_handler(
SCIC_SDS_REMOTE_NODE_CONTEXT_T * this_rnc,
SCIC_SDS_REMOTE_NODE_CONTEXT_CALLBACK the_callback,
void * callback_parameter
)
{
SCIC_LOG_WARNING((
sci_base_object_get_logger(this_rnc->device),
SCIC_LOG_OBJECT_SSP_REMOTE_TARGET |
SCIC_LOG_OBJECT_SMP_REMOTE_TARGET |
SCIC_LOG_OBJECT_STP_REMOTE_TARGET,
"SCIC Remote Node Context 0x%x requested to resume while in wrong state %d\n",
this_rnc, sci_base_state_machine_get_state(&this_rnc->state_machine)
));
return SCI_FAILURE_INVALID_STATE;
}
示例14: scif_sas_remote_device_updating_port_width_state_start_complete_handler
/**
* @brief This method provides handling of device start complete duing
* UPDATING_PORT_WIDTH state.
*
* @param[in] remote_device This parameter specifies the remote device object
* which is start complete.
*
* @return none.
*/
static
void scif_sas_remote_device_updating_port_width_state_start_complete_handler(
SCIF_SAS_REMOTE_DEVICE_T * fw_device,
SCI_STATUS completion_status
)
{
SCIF_LOG_INFO((
sci_base_object_get_logger(fw_device),
SCIF_LOG_OBJECT_REMOTE_DEVICE,
"RemoteDevice:0x%x updating port width state start complete handler\n",
fw_device,
sci_base_state_machine_get_state(&fw_device->parent.state_machine)
));
if ( fw_device->destination_state
== SCIF_SAS_REMOTE_DEVICE_DESTINATION_STATE_STOPPING )
{
//if the destination state of this device change to STOPPING, no matter
//whether we need to update the port width again, just make the device
//go to the STOPPING state.
sci_base_state_machine_change_state(
&fw_device->parent.state_machine,
SCI_BASE_REMOTE_DEVICE_STATE_STOPPING
);
}
else if ( scic_remote_device_get_port_width(fw_device->core_object)
!= fw_device->device_port_width
&& fw_device->device_port_width != 0)
{
scic_remote_device_stop(
fw_device->core_object,
SCIF_SAS_REMOTE_DEVICE_CORE_OP_TIMEOUT
);
}
else
{
//Port width updating succeeds. Transfer to destination state.
sci_base_state_machine_change_state(
&fw_device->parent.state_machine,
SCI_BASE_REMOTE_DEVICE_STATE_READY
);
}
}
示例15: scic_sds_remote_node_context_default_destruct_handler
static
SCI_STATUS scic_sds_remote_node_context_default_destruct_handler(
SCIC_SDS_REMOTE_NODE_CONTEXT_T * this_rnc,
SCIC_SDS_REMOTE_NODE_CONTEXT_CALLBACK the_callback,
void * callback_parameter
)
{
SCIC_LOG_WARNING((
sci_base_object_get_logger(this_rnc->device),
SCIC_LOG_OBJECT_SSP_REMOTE_TARGET |
SCIC_LOG_OBJECT_SMP_REMOTE_TARGET |
SCIC_LOG_OBJECT_STP_REMOTE_TARGET,
"SCIC Remote Node Context 0x%x requested to stop while in unexpected state %d\n",
this_rnc, sci_base_state_machine_get_state(&this_rnc->state_machine)
));
// We have decided that the destruct request on the remote node context can not fail
// since it is either in the initial/destroyed state or is can be destroyed.
return SCI_SUCCESS;
}