.. _sm3pack-sm3unpack: SM3Pack, SM3Unpack ================== Packs/unpacks the IppsSM3State context into/from a user-defined buffer. Syntax ------ IppStatus ippsSM3Pack (const IppsSM3State\* pCtx, Ipp8u\* pBuffer); IppStatus ippsSM3Unpack (const Ipp8u\* pBuffer, IppsSM3State\* pCtx); Include Files ------------- ``ippcp.h`` Parameters ---------- .. list-table:: :header-rows: 0 * - pCtx - Pointer to the IppsSM3State context. * - pBuffer - Pointer to the user-defined buffer. Description ----------- The SM3Pack function transforms the \*pCtx context to a position-independent form and stores it in the \*pBuffer buffer. The SM3Unpack function performs the inverse operation, that is, transforms the contents of the \*pBuffer buffer into a normal IppsSM3State context. The SM3Pack and SM3Unpack functions enable replacing the position-dependent IppsSM3State context in the memory. Call the `SM3GetSize `__ function prior to SM3Pack/SM3Unpack to determine the size of the buffer. Return Values ------------- .. list-table:: :header-rows: 0 * - ippStsNoErr - Indicates no error. Any other value indicates an error or warning. * - ippStsNullPtrErr - Indicates an error condition if any of the specified pointers is NULL. * - ippStsContextMatchErr - Indicates an error condition if the context parameter does not match the operation.