// File: /workspace/github_c_makefile_star2_O1/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 0x13124
testl %eax, %eax
je 0x2bac
leaq 0x2c687(%rip), %rdi     # 0x2f222
leaq 0x2c906(%rip), %rsi     # 0x2f4a8
movl $0x3f7, %edx            # imm = 0x3F7
jmp 0x3146
movl $0x5, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x2, %edx
callq 0x13124
testl %eax, %eax
je 0x2bdc
leaq 0x2c657(%rip), %rdi     # 0x2f222
leaq 0x2c8d6(%rip), %rsi     # 0x2f4a8
movl $0x3fc, %edx            # imm = 0x3FC
jmp 0x3146
movl $0x5, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x4, %edx
callq 0x13124
testl %eax, %eax
je 0x2c0c
leaq 0x2c627(%rip), %rdi     # 0x2f222
leaq 0x2c8a6(%rip), %rsi     # 0x2f4a8
movl $0x401, %edx            # imm = 0x401
jmp 0x3146
movl $0x5, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x8, %edx
callq 0x13124
testl %eax, %eax
je 0x2c3c
leaq 0x2c5f7(%rip), %rdi     # 0x2f222
leaq 0x2c876(%rip), %rsi     # 0x2f4a8
movl $0x406, %edx            # imm = 0x406
jmp 0x3146
movl $0x5, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x10, %edx
callq 0x13124
testl %eax, %eax
je 0x2c6c
leaq 0x2c5c7(%rip), %rdi     # 0x2f222
leaq 0x2c846(%rip), %rsi     # 0x2f4a8
movl $0x40b, %edx            # imm = 0x40B
jmp 0x3146
movl $0x5, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x20, %edx
callq 0x13124
testl %eax, %eax
je 0x2c9c
leaq 0x2c597(%rip), %rdi     # 0x2f222
leaq 0x2c816(%rip), %rsi     # 0x2f4a8
movl $0x410, %edx            # imm = 0x410
jmp 0x3146
movl $0x5, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x40, %edx
callq 0x13124
testl %eax, %eax
je 0x2ccc
leaq 0x2c567(%rip), %rdi     # 0x2f222
leaq 0x2c7e6(%rip), %rsi     # 0x2f4a8
movl $0x415, %edx            # imm = 0x415
jmp 0x3146
movl $0x5, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x80, %edx
callq 0x13124
testl %eax, %eax
je 0x2cfc
leaq 0x2c537(%rip), %rdi     # 0x2f222
leaq 0x2c7b6(%rip), %rsi     # 0x2f4a8
movl $0x41a, %edx            # imm = 0x41A
jmp 0x3146
movl $0x5, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x100, %edx            # imm = 0x100
callq 0x13124
testl %eax, %eax
je 0x2d2c
leaq 0x2c507(%rip), %rdi     # 0x2f222
leaq 0x2c786(%rip), %rsi     # 0x2f4a8
movl $0x41f, %edx            # imm = 0x41F
jmp 0x3146
movl $0x5, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x200, %edx            # imm = 0x200
callq 0x13124
testl %eax, %eax
je 0x2d5c
leaq 0x2c4d7(%rip), %rdi     # 0x2f222
leaq 0x2c756(%rip), %rsi     # 0x2f4a8
movl $0x424, %edx            # imm = 0x424
jmp 0x3146
movl $0x5, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x400, %edx            # imm = 0x400
callq 0x13124
testl %eax, %eax
je 0x2d8c
leaq 0x2c4a7(%rip), %rdi     # 0x2f222
leaq 0x2c726(%rip), %rsi     # 0x2f4a8
movl $0x429, %edx            # imm = 0x429
jmp 0x3146
movl $0x5, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x800, %edx            # imm = 0x800
callq 0x13124
testl %eax, %eax
je 0x2dbc
leaq 0x2c477(%rip), %rdi     # 0x2f222
leaq 0x2c6f6(%rip), %rsi     # 0x2f4a8
movl $0x42e, %edx            # imm = 0x42E
jmp 0x3146
movl $0x5, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x1000, %edx           # imm = 0x1000
callq 0x13124
testl %eax, %eax
je 0x2dec
leaq 0x2c447(%rip), %rdi     # 0x2f222
leaq 0x2c6c6(%rip), %rsi     # 0x2f4a8
movl $0x433, %edx            # imm = 0x433
jmp 0x3146
movl $0x5, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x2000, %edx           # imm = 0x2000
callq 0x13124
testl %eax, %eax
je 0x2e1c
leaq 0x2c417(%rip), %rdi     # 0x2f222
leaq 0x2c696(%rip), %rsi     # 0x2f4a8
movl $0x438, %edx            # imm = 0x438
jmp 0x3146
movl $0x1, %ebp
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x1, %edx
callq 0x13124
cmpl $-0xb, %eax
jne 0x2ff5
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x2, %edx
callq 0x13124
cmpl $-0xb, %eax
jne 0x300d
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x4, %edx
callq 0x13124
cmpl $-0xb, %eax
jne 0x3025
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x8, %edx
callq 0x13124
cmpl $-0xb, %eax
jne 0x303d
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x10, %edx
callq 0x13124
cmpl $-0xb, %eax
jne 0x3055
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x20, %edx
callq 0x13124
cmpl $-0xb, %eax
jne 0x306d
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x40, %edx
callq 0x13124
cmpl $-0xb, %eax
jne 0x3085
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x80, %edx
callq 0x13124
cmpl $-0xb, %eax
jne 0x309d
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x100, %edx            # imm = 0x100
callq 0x13124
cmpl $-0xb, %eax
jne 0x30b5
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x200, %edx            # imm = 0x200
callq 0x13124
cmpl $-0xb, %eax
jne 0x30ca
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x400, %edx            # imm = 0x400
callq 0x13124
cmpl $-0xb, %eax
jne 0x30df
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x800, %edx            # imm = 0x800
callq 0x13124
cmpl $-0xb, %eax
jne 0x30f4
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x1000, %edx           # imm = 0x1000
callq 0x13124
cmpl $-0xb, %eax
jne 0x3109
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0x2000, %edx           # imm = 0x2000
callq 0x13124
cmpl $-0xb, %eax
jne 0x311e
movl $0x4, %edi
movl $0x42015e, %esi         # imm = 0x42015E
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x13124
cmpl $-0x9, %eax
jne 0x3133
leaq 0x2c23c(%rip), %rdi     # 0x2f217
leaq 0x2c4c6(%rip), %rsi     # 0x2f4a8
xorl %ebp, %ebp
xorl %eax, %eax
callq 0x1090
movl $0x4, %eax
jmp 0x3152
leaq 0x2c226(%rip), %rdi     # 0x2f222
leaq 0x2c4a5(%rip), %rsi     # 0x2f4a8
movl $0x43f, %edx            # imm = 0x43F
jmp 0x3146
leaq 0x2c20e(%rip), %rdi     # 0x2f222
leaq 0x2c48d(%rip), %rsi     # 0x2f4a8
movl $0x444, %edx            # imm = 0x444
jmp 0x3146
leaq 0x2c1f6(%rip), %rdi     # 0x2f222
leaq 0x2c475(%rip), %rsi     # 0x2f4a8
movl $0x449, %edx            # imm = 0x449
jmp 0x3146
leaq 0x2c1de(%rip), %rdi     # 0x2f222
leaq 0x2c45d(%rip), %rsi     # 0x2f4a8
movl $0x44e, %edx            # imm = 0x44E
jmp 0x3146
leaq 0x2c1c6(%rip), %rdi     # 0x2f222
leaq 0x2c445(%rip), %rsi     # 0x2f4a8
movl $0x453, %edx            # imm = 0x453
jmp 0x3146
leaq 0x2c1ae(%rip), %rdi     # 0x2f222
leaq 0x2c42d(%rip), %rsi     # 0x2f4a8
movl $0x458, %edx            # imm = 0x458
jmp 0x3146
leaq 0x2c196(%rip), %rdi     # 0x2f222
leaq 0x2c415(%rip), %rsi     # 0x2f4a8
movl $0x45d, %edx            # imm = 0x45D
jmp 0x3146
leaq 0x2c17e(%rip), %rdi     # 0x2f222
leaq 0x2c3fd(%rip), %rsi     # 0x2f4a8
movl $0x462, %edx            # imm = 0x462
jmp 0x3146
leaq 0x2c166(%rip), %rdi     # 0x2f222
leaq 0x2c3e5(%rip), %rsi     # 0x2f4a8
movl $0x467, %edx            # imm = 0x467
jmp 0x3146
leaq 0x2c151(%rip), %rdi     # 0x2f222
leaq 0x2c3d0(%rip), %rsi     # 0x2f4a8
movl $0x46c, %edx            # imm = 0x46C
jmp 0x3146
leaq 0x2c13c(%rip), %rdi     # 0x2f222
leaq 0x2c3bb(%rip), %rsi     # 0x2f4a8
movl $0x471, %edx            # imm = 0x471
jmp 0x3146
leaq 0x2c127(%rip), %rdi     # 0x2f222
leaq 0x2c3a6(%rip), %rsi     # 0x2f4a8
movl $0x476, %edx            # imm = 0x476
jmp 0x3146
leaq 0x2c112(%rip), %rdi     # 0x2f222
leaq 0x2c391(%rip), %rsi     # 0x2f4a8
movl $0x47b, %edx            # imm = 0x47B
jmp 0x3146
leaq 0x2c0fd(%rip), %rdi     # 0x2f222
leaq 0x2c37c(%rip), %rsi     # 0x2f4a8
movl $0x480, %edx            # imm = 0x480
jmp 0x3146
leaq 0x2c0e8(%rip), %rdi     # 0x2f222
leaq 0x2c367(%rip), %rsi     # 0x2f4a8
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