| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- #include <string.h>
- #include <openssl/e_os2.h>
- #include <openssl/byteorder.h>
- #include "testutil.h"
- #include "testutil/output.h"
- static int test_byteorder(void)
- {
- const unsigned char in[] = { 0, 1, 2, 3, 4, 5, 6, 7 };
- unsigned char out[8];
- const unsigned char *restin;
- unsigned char *restout;
- uint16_t u16;
- uint32_t u32;
- uint64_t u64;
- memset(out, 0xff, sizeof(out));
- restin = OPENSSL_load_u16_le(&u16, in);
- restout = OPENSSL_store_u16_le(out, u16);
- if (!TEST_true(u16 == 0x0100U
- && memcmp(in, out, (size_t) 2) == 0
- && restin == in + 2
- && restout == out + 2)) {
- TEST_info("Failed byteorder.h u16 LE load/store");
- return 0;
- }
- memset(out, 0xff, sizeof(out));
- restin = OPENSSL_load_u16_be(&u16, in);
- restout = OPENSSL_store_u16_be(out, u16);
- if (!TEST_true(u16 == 0x0001U
- && memcmp(in, out, (size_t) 2) == 0
- && restin == in + 2
- && restout == out + 2)) {
- TEST_info("Failed byteorder.h u16 BE load/store");
- return 0;
- }
- memset(out, 0xff, sizeof(out));
- restin = OPENSSL_load_u32_le(&u32, in);
- restout = OPENSSL_store_u32_le(out, u32);
- if (!TEST_true(u32 == 0x03020100UL
- && memcmp(in, out, (size_t) 4) == 0
- && restin == in + 4
- && restout == out + 4)) {
- TEST_info("Failed byteorder.h u32 LE load/store");
- return 0;
- }
- memset(out, 0xff, sizeof(out));
- restin = OPENSSL_load_u32_be(&u32, in);
- restout = OPENSSL_store_u32_be(out, u32);
- if (!TEST_true(u32 == 0x00010203UL
- && memcmp(in, out, (size_t) 4) == 0
- && restin == in + 4
- && restout == out + 4)) {
- TEST_info("Failed byteorder.h u32 BE load/store");
- return 0;
- }
- memset(out, 0xff, sizeof(out));
- restin = OPENSSL_load_u64_le(&u64, in);
- restout = OPENSSL_store_u64_le(out, u64);
- if (!TEST_true(u64 == 0x0706050403020100ULL
- && memcmp(in, out, (size_t) 8) == 0
- && restin == in + 8
- && restout == out + 8)) {
- TEST_info("Failed byteorder.h u64 LE load/store");
- return 0;
- }
- memset(out, 0xff, sizeof(out));
- restin = OPENSSL_load_u64_be(&u64, in);
- restout = OPENSSL_store_u64_be(out, u64);
- if (!TEST_true(u64 == 0x0001020304050607ULL
- && memcmp(in, out, (size_t) 8) == 0
- && restin == in + 8
- && restout == out + 8)) {
- TEST_info("Failed byteorder.h u64 BE load/store");
- return 0;
- }
- return 1;
- }
- int setup_tests(void)
- {
- ADD_TEST(test_byteorder);
- return 1;
- }
|