// File: /workspace/github_c_makefile_star2_O0/OpenKMIP[P]libkmip/src/kmip_io.c
// Function: kmip_print_request_header
void
kmip_print_request_header(FILE *f, int indent, RequestHeader *value)
{
    fprintf(f, "%*sRequest Header @ %p\n", indent, "", (void *)value);

    if(value != NULL)
    {
        kmip_print_protocol_version(f, indent + 2, value->protocol_version);

        fprintf(f, "%*sMaximum Response Size: ", indent + 2, "");
        kmip_print_integer(f, value->maximum_response_size);
        fprintf(f, "\n");

        kmip_print_text_string(f, indent + 2, "Client Correlation Value", value->client_correlation_value);
        kmip_print_text_string(f, indent + 2, "Server Correlation Value", value->server_correlation_value);
        fprintf(f, "%*sAsynchronous Indicator: ", indent + 2, "");
        kmip_print_bool(f, value->asynchronous_indicator);
        fprintf(f, "\n");
        fprintf(f, "%*sAttestation Capable Indicator: ", indent + 2, "");
        kmip_print_bool(f, value->attestation_capable_indicator);
        fprintf(f, "\n");
        fprintf(f, "%*sAttestation Types: %zu\n", indent + 2, "", value->attestation_type_count);
        for(size_t i = 0; i < value->attestation_type_count; i++)
        {
            /* TODO (ph) Add enum value -> string functionality. */
            fprintf(f, "%*sAttestation Type: %s\n", indent + 4, "", "???");
        }
        kmip_print_authentication(f, indent + 2, value->authentication);
        fprintf(f, "%*sBatch Error Continuation Option: ", indent + 2, "");
        kmip_print_batch_error_continuation_option(f, value->batch_error_continuation_option);
        fprintf(f, "\n");
        fprintf(f, "%*sBatch Order Option: ", indent + 2, "");
        kmip_print_bool(f, value->batch_order_option);
        fprintf(f, "\n");
        fprintf(f, "%*sTime Stamp: ", indent + 2, "");
        kmip_print_date_time(f, value->time_stamp);
        fprintf(f, "\n");
        fprintf(f, "%*sBatch Count: %d\n", indent + 2, "", value->batch_count);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %edx
movq -0x18(%rbp), %r8
leaq 0xaadb(%rip), %rsi      # 0x30090
leaq 0x5e39(%rip), %rcx      # 0x2b3f5
movb $0x0, %al
callq 0x21d0
cmpq $0x0, -0x18(%rbp)
je 0x25856
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
addl $0x2, %esi
movq -0x18(%rbp), %rax
movq (%rax), %rdx
callq 0x235d0
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %edx
addl $0x2, %edx
leaq 0xaab3(%rip), %rsi      # 0x300a8
leaq 0x5df9(%rip), %rcx      # 0x2b3f5
movb $0x0, %al
callq 0x21d0
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x8(%rax), %esi
callq 0x23330
movq -0x8(%rbp), %rdi
leaq 0x5dd6(%rip), %rsi      # 0x2b3f4
movb $0x0, %al
callq 0x21d0
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
addl $0x2, %esi
movq -0x18(%rbp), %rax
movq 0x40(%rax), %rcx
leaq 0xaa85(%rip), %rdx      # 0x300c3
callq 0x233f0
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
addl $0x2, %esi
movq -0x18(%rbp), %rax
movq 0x48(%rax), %rcx
leaq 0xaa80(%rip), %rdx      # 0x300dc
callq 0x233f0
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %edx
addl $0x2, %edx
leaq 0xaa83(%rip), %rsi      # 0x300f5
leaq 0x5d7c(%rip), %rcx      # 0x2b3f5
movb $0x0, %al
callq 0x21d0
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0xc(%rax), %esi
callq 0x23380
movq -0x8(%rbp), %rdi
leaq 0x5d59(%rip), %rsi      # 0x2b3f4
movb $0x0, %al
callq 0x21d0
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %edx
addl $0x2, %edx
leaq 0xaa5e(%rip), %rsi      # 0x30111
leaq 0x5d3b(%rip), %rcx      # 0x2b3f5
movb $0x0, %al
callq 0x21d0
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x2c(%rax), %esi
callq 0x23380
movq -0x8(%rbp), %rdi
leaq 0x5d18(%rip), %rsi      # 0x2b3f4
movb $0x0, %al
callq 0x21d0
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %edx
addl $0x2, %edx
movq -0x18(%rbp), %rax
movq 0x38(%rax), %r8
leaq 0xaa38(%rip), %rsi      # 0x30134
leaq 0x5cf2(%rip), %rcx      # 0x2b3f5
movb $0x0, %al
callq 0x21d0
movq $0x0, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq 0x38(%rcx), %rax
jae 0x25754
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %edx
addl $0x4, %edx
leaq 0xaa1e(%rip), %rsi      # 0x3014f
leaq 0x5cbd(%rip), %rcx      # 0x2b3f5
leaq 0xaa29(%rip), %r8       # 0x30168
movb $0x0, %al
callq 0x21d0
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
jmp 0x25712
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
addl $0x2, %esi
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdx
callq 0x252b0
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %edx
addl $0x2, %edx
leaq 0xa9f0(%rip), %rsi      # 0x3016c
leaq 0x5c72(%rip), %rcx      # 0x2b3f5
movb $0x0, %al
callq 0x21d0
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x18(%rax), %esi
callq 0x204a0
movq -0x8(%rbp), %rdi
leaq 0x5c4f(%rip), %rsi      # 0x2b3f4
movb $0x0, %al
callq 0x21d0
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %edx
addl $0x2, %edx
leaq 0xa9d4(%rip), %rsi      # 0x30191
leaq 0x5c31(%rip), %rcx      # 0x2b3f5
movb $0x0, %al
callq 0x21d0
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x1c(%rax), %esi
callq 0x23380
movq -0x8(%rbp), %rdi
leaq 0x5c0e(%rip), %rsi      # 0x2b3f4
movb $0x0, %al
callq 0x21d0
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %edx
addl $0x2, %edx
leaq 0xa9ab(%rip), %rsi      # 0x301a9
leaq 0x5bf0(%rip), %rcx      # 0x2b3f5
movb $0x0, %al
callq 0x21d0
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rsi
callq 0x23560
movq -0x8(%rbp), %rdi
leaq 0x5bcc(%rip), %rsi      # 0x2b3f4
movb $0x0, %al
callq 0x21d0
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %edx
addl $0x2, %edx
movq -0x18(%rbp), %rax
movl 0x28(%rax), %r8d
leaq 0xa971(%rip), %rsi      # 0x301b9
leaq 0x5ba6(%rip), %rcx      # 0x2b3f5
movb $0x0, %al
callq 0x21d0
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)