FreeBSD/sys/dev/isci/scil/scif_sas_smp_io_request.c
/**
 * @brief This routine is to fill in the space given by core the SMP command
 *        frame. Then it calls core's construction.
 *
 * @param[in] fw_io The smp io request to be constructed.
 * @param[in] smp_command The SMP request filled according to SAS spec.
 *
 * @return none
 */
@brief This routine is to fill in the space given by core the SMP command
frame. Then it calls core's construction.

@param[in] fw_io The smp io request to be constructed.
@param[in] smp_command The SMP request filled according to SAS spec.

@return none
@brief This routine is to fill in the space given by core the SMP command frame . Then it calls core ' s construction . @param [ in ] fw_io The smp io request to be constructed . @param [ in ] smp_command The SMP request filled according to SAS spec . @return none
void scif_sas_smp_request_construct(
   SCIF_SAS_REQUEST_T * fw_request,
   SMP_REQUEST_T * smp_command
)
{
   void * command_iu_address =
      scic_io_request_get_command_iu_address(fw_request->core_object);
   memcpy( (char*) command_iu_address,
           smp_command,
           sizeof(SMP_REQUEST_T)
          );
   scic_io_request_construct_smp(fw_request->core_object);
   fw_request->protocol_complete_handler
      = NULL;
}
void scif_sas_smp_request_construct ( SCIF_SAS_REQUEST_T * fw_request , SMP_REQUEST_T * smp_command ) { void * command_iu_address = scic_io_request_get_command_iu_address ( fw_request -> core_object ) ; memcpy ( ( char * ) command_iu_address , smp_command , sizeof ( SMP_REQUEST_T ) ) ; scic_io_request_construct_smp ( fw_request -> core_object ) ; fw_request -> protocol_complete_handler = NULL ; }
@brief This routine is to fill in the space given by core the SMP command
        frame.
@brief This routine is to fill in the space given by core the SMP command frame .
//copy the smp_command to the address;