static int test_byteorder(void) { uint16_t res_u16; uint32_t res_u32; uint64_t res_u64; res_u16 = rte_bswap16(u16); printf("%"PRIx16" -> %"PRIx16"\n", u16, res_u16); if (res_u16 != 0x3713) return -1; res_u32 = rte_bswap32(u32); printf("%"PRIx32" -> %"PRIx32"\n", u32, res_u32); if (res_u32 != 0xefbeaddeUL) return -1; res_u64 = rte_bswap64(u64); printf("%"PRIx64" -> %"PRIx64"\n", u64, res_u64); if (res_u64 != 0xcefabebafecaaddeULL) return -1; res_u16 = rte_bswap16(0x1337); printf("const %"PRIx16" -> %"PRIx16"\n", 0x1337, res_u16); if (res_u16 != 0x3713) return -1; res_u32 = rte_bswap32(0xdeadbeefUL); printf("const %"PRIx32" -> %"PRIx32"\n", (uint32_t) 0xdeadbeef, res_u32); if (res_u32 != 0xefbeaddeUL) return -1; res_u64 = rte_bswap64(0xdeadcafebabefaceULL); printf("const %"PRIx64" -> %"PRIx64"\n", (uint64_t) 0xdeadcafebabefaceULL, res_u64); if (res_u64 != 0xcefabebafecaaddeULL) return -1; return 0; }
static int partial_hash_compute(enum icp_qat_hw_auth_algo hash_alg, uint8_t *data_in, uint8_t *data_out) { int digest_size; uint8_t digest[qat_hash_get_digest_size( ICP_QAT_HW_AUTH_ALGO_DELIMITER)]; uint32_t *hash_state_out_be32; uint64_t *hash_state_out_be64; int i; PMD_INIT_FUNC_TRACE(); digest_size = qat_hash_get_digest_size(hash_alg); if (digest_size <= 0) return -EFAULT; hash_state_out_be32 = (uint32_t *)data_out; hash_state_out_be64 = (uint64_t *)data_out; switch (hash_alg) { case ICP_QAT_HW_AUTH_ALGO_SHA1: if (partial_hash_sha1(data_in, digest)) return -EFAULT; for (i = 0; i < digest_size >> 2; i++, hash_state_out_be32++) *hash_state_out_be32 = rte_bswap32(*(((uint32_t *)digest)+i)); break; case ICP_QAT_HW_AUTH_ALGO_SHA256: if (partial_hash_sha256(data_in, digest)) return -EFAULT; for (i = 0; i < digest_size >> 2; i++, hash_state_out_be32++) *hash_state_out_be32 = rte_bswap32(*(((uint32_t *)digest)+i)); break; case ICP_QAT_HW_AUTH_ALGO_SHA512: if (partial_hash_sha512(data_in, digest)) return -EFAULT; for (i = 0; i < digest_size >> 3; i++, hash_state_out_be64++) *hash_state_out_be64 = rte_bswap64(*(((uint64_t *)digest)+i)); break; default: PMD_DRV_LOG(ERR, "invalid hash alg %u", hash_alg); return -EFAULT; } return 0; }