// File: /workspace/github_c_makefile_star2_O1/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 0xa0ce(%rip), %rsi      # 0x26992
leaq 0x4914(%rip), %rcx      # 0x211df
movl %ebp, %edx
xorl %eax, %eax
callq 0x2200
cmpl $0xe, %r15d
ja 0x1ca1e
movl %r15d, %eax
leaq 0x870c(%rip), %rcx      # 0x24ff4
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 0x1c16f
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 0x1c37b
movl (%r14), %edx
leaq 0x4867(%rip), %rsi      # 0x211ab
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 0x6a68(%rip), %rdx      # 0x233d7
jmp 0x1ca07
movl (%r14), %esi
movq %rbx, %rdi
callq 0x1abb4
jmp 0x1c999
movl (%r14), %esi
movq %rbx, %rdi
callq 0x1ae2f
jmp 0x1c999
movl (%r14), %esi
movq %rbx, %rdi
callq 0x1b27c
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 0x699a(%rip), %rdx      # 0x23361
jmp 0x1ca07
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 0x1c237
movl $0xa, %edi
movq %rbx, %rsi
callq 0x21b0
addl $0x2, %ebp
leaq 0x6999(%rip), %rdx      # 0x233a0
movq %rbx, %rdi
movl %ebp, %esi
movq %r14, %rcx
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x1c039
leaq 0x9f82(%rip), %rdi      # 0x269a7
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 0x1ba19
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 0x1c318