/* param base Pointer to the FLEXIO_MCULCD_Type structure. param handle Pointer to the flexio_mculcd_handle_t structure to store the transfer state. param callback The callback function. param userData The parameter of the callback function. retval kStatus_Success Successfully create the handle. retval kStatus_OutOfRange The FlexIO type/handle/ISR table out of range.  */
status_t FLEXIO_MCULCD_TransferCreateHandle(FLEXIO_MCULCD_Type *base, flexio_mculcd_handle_t *handle, flexio_mculcd_transfer_callback_t callback, void *userData)
/* param base Pointer to the FLEXIO_MCULCD_Type structure. param handle Pointer to the flexio_mculcd_handle_t structure to store the transfer state. param callback The callback function. param userData The parameter of the callback function. retval kStatus_Success Successfully create the handle. retval kStatus_OutOfRange The FlexIO type/handle/ISR table out of range.  */
status_t FLEXIO_MCULCD_TransferCreateHandle(FLEXIO_MCULCD_Type *base, flexio_mculcd_handle_t *handle, flexio_mculcd_transfer_callback_t callback, void *userData)
{
    assert(NULL != handle);
    IRQn_Type flexio_irqs[] = FLEXIO_IRQS;
    (void)memset(handle, 0, sizeof(*handle));
    handle->state = (uint32_t)kFLEXIO_MCULCD_StateIdle;
    handle->completionCallback = callback;
    handle->userData           = userData;
    (void)EnableIRQ(flexio_irqs[FLEXIO_GetInstance(base->flexioBase)]);
    return FLEXIO_RegisterHandleIRQ(base, handle, FLEXIO_MCULCD_TransferHandleIRQ);
}