Logo Search packages:      
Sourcecode: linux-fsl-imx51 version File versions  Download package

fsl_shw_return_t sah_add_out_in_desc ( uint32_t  header,
uint8_t *  out1,
uint32_t  out1_length,
const uint8_t *  in2,
uint32_t  in2_length,
const sah_Mem_Util mu,
sah_Head_Desc **  desc_chain 
)

Add a descriptor with an output and input pointer

Add descriptor where first link is output, second is output

Parameters:
header The Sahara header value for the descriptor.
out1 The first output buffer (or NULL)
out1_length Size of out1
[out] in2 The input buffer (or NULL)
in2_length Size of in2
mu Memory functions
[in,out] desc_chain Chain to start or append to
Returns:
A return code of type fsl_shw_return_t.

Definition at line 1145 of file sf_util.c.

References FSL_RETURN_OK_S, sah_Append_Desc(), sah_Create_Link(), sah_Destroy_Link(), SAH_OUTPUT_LINK, and SAH_USES_LINK_DATA.

{
    fsl_shw_return_t status = FSL_RETURN_OK_S;
    sah_Link         *link1 = NULL;
    sah_Link         *link2 = NULL;


    if (out1 != NULL) {
        status = sah_Create_Link(mu, &link1,
                                 (sah_Oct_Str) out1, out1_length,
                                 SAH_OUTPUT_LINK |
                                 SAH_USES_LINK_DATA);
    }

    if ( (in2 != NULL) && (status == FSL_RETURN_OK_S) ) {
        status = sah_Create_Link(mu, &link2,
                                 (sah_Oct_Str) in2, in2_length,
                                 SAH_USES_LINK_DATA);
    }

    if (status != FSL_RETURN_OK_S) {
        if (link1 != NULL) {
            sah_Destroy_Link(mu, link1);
        }
        if (link2 != NULL) {
            sah_Destroy_Link(mu, link2);
        }
    } else {
        status = sah_Append_Desc(mu, desc_chain, header, link1, link2);
    }

    return status;
}


Generated by  Doxygen 1.6.0   Back to index