// File: /workspace/github_c_makefile_star2_O3/OpenKMIP[P]libkmip/src/kmip_io.c
// Function: kmip_print_attribute_value
void
kmip_print_attribute_value(FILE *f, int indent, enum attribute_type type, void *value)
{
    fprintf(f, "%*sAttribute Value: ", indent, "");
    
    switch(type)
    {
        case KMIP_ATTR_APPLICATION_SPECIFIC_INFORMATION:
        {
            fprintf(f, "\n");
            kmip_print_application_specific_information(f, indent + 2, value);
        }
        break;

        case KMIP_ATTR_UNIQUE_IDENTIFIER:
        fprintf(f, "\n");
        kmip_print_text_string(f, indent + 2, "Unique Identifier", value);
        break;
        
        case KMIP_ATTR_NAME:
        fprintf(f, "\n");
        kmip_print_name(f, indent + 2, value);
        break;
        
        case KMIP_ATTR_OBJECT_TYPE:
        kmip_print_object_type_enum(f, *(enum object_type *)value);
        fprintf(f, "\n");
        break;
        
        case KMIP_ATTR_CRYPTOGRAPHIC_ALGORITHM:
        kmip_print_cryptographic_algorithm_enum(f, *(enum cryptographic_algorithm *)value);
        fprintf(f, "\n");
        break;
        
        case KMIP_ATTR_CRYPTOGRAPHIC_LENGTH:
        fprintf(f, "%d\n", *(int32 *)value);
        break;
        
        case KMIP_ATTR_OPERATION_POLICY_NAME:
        fprintf(f, "\n");
        kmip_print_text_string(f, indent + 2, "Operation Policy Name", value);
        break;
        
        case KMIP_ATTR_CRYPTOGRAPHIC_USAGE_MASK:
        kmip_print_cryptographic_usage_mask_enums(f, indent + 2, *(int32 *)value);
        break;
        
        case KMIP_ATTR_STATE:
        kmip_print_state_enum(f, *(enum state *)value);
        fprintf(f, "\n");
        break;

        case KMIP_ATTR_OBJECT_GROUP:
        {
            fprintf(f, "\n");
            kmip_print_text_string(f, indent + 2, "Object Group", value);
        }
        break;

        case KMIP_ATTR_ACTIVATION_DATE:
        case KMIP_ATTR_DEACTIVATION_DATE:
        case KMIP_ATTR_PROCESS_START_DATE:
        case KMIP_ATTR_PROTECT_STOP_DATE:
        {
            fprintf(f, "\n");
            kmip_print_date_time(f, *(int64 *)value);
        } break;

        case KMIP_ATTR_CRYPTOGRAPHIC_PARAMETERS:
        {
            fprintf(f, "\n");
            kmip_print_cryptographic_parameters(f, indent + 2, value);
        } break;

        default:
        fprintf(f, "Unknown\n");
        break;
    };
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rcx, %r14
movl %edx, %r15d
movl %esi, %ebp
movq %rdi, %rbx
leaq 0xa006(%rip), %rsi      # 0x259f2
leaq 0x47be(%rip), %rcx      # 0x201b1
movl %ebp, %edx
xorl %eax, %eax
callq 0x2200
cmpl $0xe, %r15d
ja 0x1bb46
movl %r15d, %eax
leaq 0x8644(%rip), %rcx      # 0x24054
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0xa, %edi
movq %rbx, %rsi
callq 0x21b0
movq (%r14), %rsi
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x1b297
movl $0xa, %edi
movq %rbx, %rsi
callq 0x21b0
addl $0x2, %ebp
movq %rbx, %rdi
movl %ebp, %esi
movq %r14, %rdx
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x1b4a3
movl (%r14), %edx
leaq 0x4711(%rip), %rsi      # 0x2017d
movq %rbx, %rdi
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x2200
movl $0xa, %edi
movq %rbx, %rsi
callq 0x21b0
addl $0x2, %ebp
leaq 0x69a0(%rip), %rdx      # 0x22437
jmp 0x1bb2f
movl (%r14), %esi
movq %rbx, %rdi
callq 0x19cdc
jmp 0x1bac1
movl (%r14), %esi
movq %rbx, %rdi
callq 0x19f57
jmp 0x1bac1
movl (%r14), %esi
movq %rbx, %rdi
callq 0x1a3a4
movl $0xa, %edi
movq %rbx, %rsi
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x21b0
movl $0xa, %edi
movq %rbx, %rsi
callq 0x21b0
addl $0x2, %ebp
leaq 0x68d2(%rip), %rdx      # 0x223c1
jmp 0x1bb2f
movl $0xa, %edi
movq %rbx, %rsi
callq 0x21b0
addl $0x2, %ebp
movq %rbx, %rdi
movl %ebp, %esi
movq %r14, %rdx
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x1b35f
movl $0xa, %edi
movq %rbx, %rsi
callq 0x21b0
addl $0x2, %ebp
leaq 0x68d1(%rip), %rdx      # 0x22400
movq %rbx, %rdi
movl %ebp, %esi
movq %r14, %rcx
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x1b161
leaq 0x9eba(%rip), %rdi      # 0x25a07
movl $0x8, %esi
movl $0x1, %edx
movq %rbx, %rcx
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x2240
addl $0x2, %ebp
movl (%r14), %edx
movq %rbx, %rdi
movl %ebp, %esi
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x1ab41
movl $0xa, %edi
movq %rbx, %rsi
callq 0x21b0
addl $0x2, %ebp
movq %rbx, %rdi
movl %ebp, %esi
movq %r14, %rdx
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x1b440