// File: /workspace/github_c_makefile_star2_O3/OpenKMIP[P]libkmip/tests/tests.c
// Function: test_check_enum_value_protection_storage_masks
int
test_check_enum_value_protection_storage_masks(TestTracker *tracker)
{
    TRACK_TEST(tracker);

    enum kmip_version v = KMIP_2_0;
    enum tag t = KMIP_TAG_PROTECTION_STORAGE_MASK;

    if(kmip_check_enum_value(v, t, KMIP_PROTECT_SOFTWARE) != KMIP_OK)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    if(kmip_check_enum_value(v, t, KMIP_PROTECT_HARDWARE) != KMIP_OK)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    if(kmip_check_enum_value(v, t, KMIP_PROTECT_ON_PROCESSOR) != KMIP_OK)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    if(kmip_check_enum_value(v, t, KMIP_PROTECT_ON_SYSTEM) != KMIP_OK)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    if(kmip_check_enum_value(v, t, KMIP_PROTECT_OFF_SYSTEM) != KMIP_OK)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    if(kmip_check_enum_value(v, t, KMIP_PROTECT_HYPERVISOR) != KMIP_OK)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    if(kmip_check_enum_value(v, t, KMIP_PROTECT_OPERATING_SYSTEM) != KMIP_OK)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    if(kmip_check_enum_value(v, t, KMIP_PROTECT_CONTAINER) != KMIP_OK)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    if(kmip_check_enum_value(v, t, KMIP_PROTECT_ON_PREMISES) != KMIP_OK)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    if(kmip_check_enum_value(v, t, KMIP_PROTECT_OFF_PREMISES) != KMIP_OK)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    if(kmip_check_enum_value(v, t, KMIP_PROTECT_SELF_MANAGED) != KMIP_OK)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    if(kmip_check_enum_value(v, t, KMIP_PROTECT_OUTSOURCED) != KMIP_OK)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    if(kmip_check_enum_value(v, t, KMIP_PROTECT_VALIDATED) != KMIP_OK)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    if(kmip_check_enum_value(v, t, KMIP_PROTECT_SAME_JURISDICTION) != KMIP_OK)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    v = KMIP_1_4;

    if(kmip_check_enum_value(v, t, KMIP_PROTECT_SOFTWARE) != KMIP_INVALID_FOR_VERSION)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    if(kmip_check_enum_value(v, t, KMIP_PROTECT_HARDWARE) != KMIP_INVALID_FOR_VERSION)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    if(kmip_check_enum_value(v, t, KMIP_PROTECT_ON_PROCESSOR) != KMIP_INVALID_FOR_VERSION)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    if(kmip_check_enum_value(v, t, KMIP_PROTECT_ON_SYSTEM) != KMIP_INVALID_FOR_VERSION)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    if(kmip_check_enum_value(v, t, KMIP_PROTECT_OFF_SYSTEM) != KMIP_INVALID_FOR_VERSION)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    if(kmip_check_enum_value(v, t, KMIP_PROTECT_HYPERVISOR) != KMIP_INVALID_FOR_VERSION)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    if(kmip_check_enum_value(v, t, KMIP_PROTECT_OPERATING_SYSTEM) != KMIP_INVALID_FOR_VERSION)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    if(kmip_check_enum_value(v, t, KMIP_PROTECT_CONTAINER) != KMIP_INVALID_FOR_VERSION)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    if(kmip_check_enum_value(v, t, KMIP_PROTECT_ON_PREMISES) != KMIP_INVALID_FOR_VERSION)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    if(kmip_check_enum_value(v, t, KMIP_PROTECT_OFF_PREMISES) != KMIP_INVALID_FOR_VERSION)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    if(kmip_check_enum_value(v, t, KMIP_PROTECT_SELF_MANAGED) != KMIP_INVALID_FOR_VERSION)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    if(kmip_check_enum_value(v, t, KMIP_PROTECT_OUTSOURCED) != KMIP_INVALID_FOR_VERSION)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    if(kmip_check_enum_value(v, t, KMIP_PROTECT_VALIDATED) != KMIP_INVALID_FOR_VERSION)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    if(kmip_check_enum_value(v, t, KMIP_PROTECT_SAME_JURISDICTION) != KMIP_INVALID_FOR_VERSION)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    if(kmip_check_enum_value(v, t, -1) != KMIP_ENUM_MISMATCH)
    {
        TEST_FAILED(tracker, __func__, __LINE__);
    }

    TEST_PASSED(tracker, __func__);
}

// Assembly:
pushq %rbp
pushq %rbx
pushq %rax
movq %rdi, %rbx
incw (%rdi)
movl $0x1, %ebp
movl $0x5, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x1, %edx
callq 0x12b53
testl %eax, %eax
je 0x2b0f
leaq 0x2a724(%rip), %rdi     # 0x2d222
leaq 0x2a9a3(%rip), %rsi     # 0x2d4a8
movl $0x3f7, %edx            # imm = 0x3F7
jmp 0x30a9
movl $0x5, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x2, %edx
callq 0x12b53
testl %eax, %eax
je 0x2b3f
leaq 0x2a6f4(%rip), %rdi     # 0x2d222
leaq 0x2a973(%rip), %rsi     # 0x2d4a8
movl $0x3fc, %edx            # imm = 0x3FC
jmp 0x30a9
movl $0x5, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x4, %edx
callq 0x12b53
testl %eax, %eax
je 0x2b6f
leaq 0x2a6c4(%rip), %rdi     # 0x2d222
leaq 0x2a943(%rip), %rsi     # 0x2d4a8
movl $0x401, %edx            # imm = 0x401
jmp 0x30a9
movl $0x5, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x8, %edx
callq 0x12b53
testl %eax, %eax
je 0x2b9f
leaq 0x2a694(%rip), %rdi     # 0x2d222
leaq 0x2a913(%rip), %rsi     # 0x2d4a8
movl $0x406, %edx            # imm = 0x406
jmp 0x30a9
movl $0x5, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x10, %edx
callq 0x12b53
testl %eax, %eax
je 0x2bcf
leaq 0x2a664(%rip), %rdi     # 0x2d222
leaq 0x2a8e3(%rip), %rsi     # 0x2d4a8
movl $0x40b, %edx            # imm = 0x40B
jmp 0x30a9
movl $0x5, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x20, %edx
callq 0x12b53
testl %eax, %eax
je 0x2bff
leaq 0x2a634(%rip), %rdi     # 0x2d222
leaq 0x2a8b3(%rip), %rsi     # 0x2d4a8
movl $0x410, %edx            # imm = 0x410
jmp 0x30a9
movl $0x5, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x40, %edx
callq 0x12b53
testl %eax, %eax
je 0x2c2f
leaq 0x2a604(%rip), %rdi     # 0x2d222
leaq 0x2a883(%rip), %rsi     # 0x2d4a8
movl $0x415, %edx            # imm = 0x415
jmp 0x30a9
movl $0x5, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x80, %edx
callq 0x12b53
testl %eax, %eax
je 0x2c5f
leaq 0x2a5d4(%rip), %rdi     # 0x2d222
leaq 0x2a853(%rip), %rsi     # 0x2d4a8
movl $0x41a, %edx            # imm = 0x41A
jmp 0x30a9
movl $0x5, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x100, %edx            # imm = 0x100
callq 0x12b53
testl %eax, %eax
je 0x2c8f
leaq 0x2a5a4(%rip), %rdi     # 0x2d222
leaq 0x2a823(%rip), %rsi     # 0x2d4a8
movl $0x41f, %edx            # imm = 0x41F
jmp 0x30a9
movl $0x5, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x200, %edx            # imm = 0x200
callq 0x12b53
testl %eax, %eax
je 0x2cbf
leaq 0x2a574(%rip), %rdi     # 0x2d222
leaq 0x2a7f3(%rip), %rsi     # 0x2d4a8
movl $0x424, %edx            # imm = 0x424
jmp 0x30a9
movl $0x5, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x400, %edx            # imm = 0x400
callq 0x12b53
testl %eax, %eax
je 0x2cef
leaq 0x2a544(%rip), %rdi     # 0x2d222
leaq 0x2a7c3(%rip), %rsi     # 0x2d4a8
movl $0x429, %edx            # imm = 0x429
jmp 0x30a9
movl $0x5, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x800, %edx            # imm = 0x800
callq 0x12b53
testl %eax, %eax
je 0x2d1f
leaq 0x2a514(%rip), %rdi     # 0x2d222
leaq 0x2a793(%rip), %rsi     # 0x2d4a8
movl $0x42e, %edx            # imm = 0x42E
jmp 0x30a9
movl $0x5, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x1000, %edx           # imm = 0x1000
callq 0x12b53
testl %eax, %eax
je 0x2d4f
leaq 0x2a4e4(%rip), %rdi     # 0x2d222
leaq 0x2a763(%rip), %rsi     # 0x2d4a8
movl $0x433, %edx            # imm = 0x433
jmp 0x30a9
movl $0x5, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x2000, %edx           # imm = 0x2000
callq 0x12b53
testl %eax, %eax
je 0x2d7f
leaq 0x2a4b4(%rip), %rdi     # 0x2d222
leaq 0x2a733(%rip), %rsi     # 0x2d4a8
movl $0x438, %edx            # imm = 0x438
jmp 0x30a9
movl $0x1, %ebp
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x1, %edx
callq 0x12b53
cmpl $-0xb, %eax
jne 0x2f58
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x2, %edx
callq 0x12b53
cmpl $-0xb, %eax
jne 0x2f70
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x4, %edx
callq 0x12b53
cmpl $-0xb, %eax
jne 0x2f88
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x8, %edx
callq 0x12b53
cmpl $-0xb, %eax
jne 0x2fa0
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x10, %edx
callq 0x12b53
cmpl $-0xb, %eax
jne 0x2fb8
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x20, %edx
callq 0x12b53
cmpl $-0xb, %eax
jne 0x2fd0
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x40, %edx
callq 0x12b53
cmpl $-0xb, %eax
jne 0x2fe8
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x80, %edx
callq 0x12b53
cmpl $-0xb, %eax
jne 0x3000
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x100, %edx            # imm = 0x100
callq 0x12b53
cmpl $-0xb, %eax
jne 0x3018
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x200, %edx            # imm = 0x200
callq 0x12b53
cmpl $-0xb, %eax
jne 0x302d
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x400, %edx            # imm = 0x400
callq 0x12b53
cmpl $-0xb, %eax
jne 0x3042
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x800, %edx            # imm = 0x800
callq 0x12b53
cmpl $-0xb, %eax
jne 0x3057
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x1000, %edx           # imm = 0x1000
callq 0x12b53
cmpl $-0xb, %eax
jne 0x306c
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x2000, %edx           # imm = 0x2000
callq 0x12b53
cmpl $-0xb, %eax
jne 0x3081
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x12b53
cmpl $-0x9, %eax
jne 0x3096
leaq 0x2a2d9(%rip), %rdi     # 0x2d217
leaq 0x2a563(%rip), %rsi     # 0x2d4a8
xorl %ebp, %ebp
xorl %eax, %eax
callq 0x1090
movl $0x4, %eax
jmp 0x30b5
leaq 0x2a2c3(%rip), %rdi     # 0x2d222
leaq 0x2a542(%rip), %rsi     # 0x2d4a8
movl $0x43f, %edx            # imm = 0x43F
jmp 0x30a9
leaq 0x2a2ab(%rip), %rdi     # 0x2d222
leaq 0x2a52a(%rip), %rsi     # 0x2d4a8
movl $0x444, %edx            # imm = 0x444
jmp 0x30a9
leaq 0x2a293(%rip), %rdi     # 0x2d222
leaq 0x2a512(%rip), %rsi     # 0x2d4a8
movl $0x449, %edx            # imm = 0x449
jmp 0x30a9
leaq 0x2a27b(%rip), %rdi     # 0x2d222
leaq 0x2a4fa(%rip), %rsi     # 0x2d4a8
movl $0x44e, %edx            # imm = 0x44E
jmp 0x30a9
leaq 0x2a263(%rip), %rdi     # 0x2d222
leaq 0x2a4e2(%rip), %rsi     # 0x2d4a8
movl $0x453, %edx            # imm = 0x453
jmp 0x30a9
leaq 0x2a24b(%rip), %rdi     # 0x2d222
leaq 0x2a4ca(%rip), %rsi     # 0x2d4a8
movl $0x458, %edx            # imm = 0x458
jmp 0x30a9
leaq 0x2a233(%rip), %rdi     # 0x2d222
leaq 0x2a4b2(%rip), %rsi     # 0x2d4a8
movl $0x45d, %edx            # imm = 0x45D
jmp 0x30a9
leaq 0x2a21b(%rip), %rdi     # 0x2d222
leaq 0x2a49a(%rip), %rsi     # 0x2d4a8
movl $0x462, %edx            # imm = 0x462
jmp 0x30a9
leaq 0x2a203(%rip), %rdi     # 0x2d222
leaq 0x2a482(%rip), %rsi     # 0x2d4a8
movl $0x467, %edx            # imm = 0x467
jmp 0x30a9
leaq 0x2a1ee(%rip), %rdi     # 0x2d222
leaq 0x2a46d(%rip), %rsi     # 0x2d4a8
movl $0x46c, %edx            # imm = 0x46C
jmp 0x30a9
leaq 0x2a1d9(%rip), %rdi     # 0x2d222
leaq 0x2a458(%rip), %rsi     # 0x2d4a8
movl $0x471, %edx            # imm = 0x471
jmp 0x30a9
leaq 0x2a1c4(%rip), %rdi     # 0x2d222
leaq 0x2a443(%rip), %rsi     # 0x2d4a8
movl $0x476, %edx            # imm = 0x476
jmp 0x30a9
leaq 0x2a1af(%rip), %rdi     # 0x2d222
leaq 0x2a42e(%rip), %rsi     # 0x2d4a8
movl $0x47b, %edx            # imm = 0x47B
jmp 0x30a9
leaq 0x2a19a(%rip), %rdi     # 0x2d222
leaq 0x2a419(%rip), %rsi     # 0x2d4a8
movl $0x480, %edx            # imm = 0x480
jmp 0x30a9
leaq 0x2a185(%rip), %rdi     # 0x2d222
leaq 0x2a404(%rip), %rsi     # 0x2d4a8
movl $0x485, %edx            # imm = 0x485
xorl %eax, %eax
callq 0x1090
movl $0x2, %eax
incw (%rbx,%rax)
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %rbp
retq