// File: /workspace/github_c_makefile_star2_O0/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
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movq %rcx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %edx
leaq 0xbc9a(%rip), %rsi      # 0x2fbae
leaq 0x74da(%rip), %rcx      # 0x2b3f5
xorl %eax, %eax
callq 0x21d0
movl -0x10(%rbp), %eax
movq %rax, -0x20(%rbp)
subq $0xe, %rax
ja 0x2411f
movq -0x20(%rbp), %rax
leaq 0xa216(%rip), %rcx      # 0x2e154
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x8(%rbp), %rdi
leaq 0x74a2(%rip), %rsi      # 0x2b3f4
movb $0x0, %al
callq 0x21d0
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
addl $0x2, %esi
movq -0x18(%rbp), %rdx
callq 0x23780
jmp 0x24131
movq -0x8(%rbp), %rdi
leaq 0x7478(%rip), %rsi      # 0x2b3f4
movb $0x0, %al
callq 0x21d0
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
addl $0x2, %esi
movq -0x18(%rbp), %rcx
leaq 0x80c2(%rip), %rdx      # 0x2c05a
callq 0x233f0
jmp 0x24131
movq -0x8(%rbp), %rdi
leaq 0x7447(%rip), %rsi      # 0x2b3f4
movb $0x0, %al
callq 0x21d0
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
addl $0x2, %esi
movq -0x18(%rbp), %rdx
callq 0x23660
jmp 0x24131
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movl (%rax), %esi
callq 0x211b0
movq -0x8(%rbp), %rdi
leaq 0x740e(%rip), %rsi      # 0x2b3f4
movb $0x0, %al
callq 0x21d0
jmp 0x24131
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movl (%rax), %esi
callq 0x21620
movq -0x8(%rbp), %rdi
leaq 0x73e8(%rip), %rsi      # 0x2b3f4
movb $0x0, %al
callq 0x21d0
jmp 0x24131
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movl (%rax), %edx
leaq 0x72b4(%rip), %rsi      # 0x2b2dd
movb $0x0, %al
callq 0x21d0
jmp 0x24131
movq -0x8(%rbp), %rdi
leaq 0x73b4(%rip), %rsi      # 0x2b3f4
movb $0x0, %al
callq 0x21d0
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
addl $0x2, %esi
movq -0x18(%rbp), %rcx
leaq 0x803d(%rip), %rdx      # 0x2c099
callq 0x233f0
jmp 0x24131
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
addl $0x2, %esi
movq -0x18(%rbp), %rax
movl (%rax), %edx
callq 0x22ba0
jmp 0x24131
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movl (%rax), %esi
callq 0x21dc0
movq -0x8(%rbp), %rdi
leaq 0x735a(%rip), %rsi      # 0x2b3f4
movb $0x0, %al
callq 0x21d0
jmp 0x24131
movq -0x8(%rbp), %rdi
leaq 0x7343(%rip), %rsi      # 0x2b3f4
movb $0x0, %al
callq 0x21d0
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
addl $0x2, %esi
movq -0x18(%rbp), %rcx
leaq 0x8003(%rip), %rdx      # 0x2c0d0
callq 0x233f0
jmp 0x24131
movq -0x8(%rbp), %rdi
leaq 0x7315(%rip), %rsi      # 0x2b3f4
movb $0x0, %al
callq 0x21d0
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movq (%rax), %rsi
callq 0x23560
jmp 0x24131
movq -0x8(%rbp), %rdi
leaq 0x72f1(%rip), %rsi      # 0x2b3f4
movb $0x0, %al
callq 0x21d0
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
addl $0x2, %esi
movq -0x18(%rbp), %rdx
callq 0x23800
jmp 0x24131
movq -0x8(%rbp), %rdi
leaq 0xba99(%rip), %rsi      # 0x2fbc3
movb $0x0, %al
callq 0x21d0
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)