// File: /workspace/github_c_makefile_star2_O1/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdx, %r14
movl %esi, %edx
movq %rdi, %rbx
leaq 0x94d0(%rip), %rsi      # 0x26e74
leaq 0x3834(%rip), %rcx      # 0x211df
movq %rdx, 0x8(%rsp)
movq %r14, %r8
xorl %eax, %eax
callq 0x2200
testq %r14, %r14
je 0x1dbcf
movq 0x8(%rsp), %rax
leal 0x2(%rax), %ebp
movq (%r14), %rdx
movq %rbx, %rdi
movl %ebp, %esi
callq 0x1c1b4
leaq 0x94ad(%rip), %rsi      # 0x26e8c
leaq 0x37f9(%rip), %r12      # 0x211df
movq %rbx, %rdi
movl %ebp, %edx
movq %r12, %rcx
xorl %eax, %eax
callq 0x2200
movl 0x8(%r14), %esi
movq %rbx, %rdi
callq 0x1bfd4
movl $0xa, %edi
movq %rbx, %rsi
callq 0x21b0
movq 0x40(%r14), %rcx
leaq 0x948e(%rip), %rdx      # 0x26ea7
movq %rbx, %rdi
movl %ebp, %esi
callq 0x1c039
movq 0x48(%r14), %rcx
leaq 0x9492(%rip), %rdx      # 0x26ec0
movq %rbx, %rdi
movl %ebp, %esi
callq 0x1c039
leaq 0x949a(%rip), %rsi      # 0x26ed9
movq %rbx, %rdi
movl %ebp, %edx
movq %r12, %rcx
xorl %eax, %eax
callq 0x2200
movl 0xc(%r14), %esi
movq %rbx, %rdi
callq 0x1bffc
movl $0xa, %edi
movq %rbx, %rsi
callq 0x21b0
leaq 0x9487(%rip), %rsi      # 0x26ef5
movq %rbx, %rdi
movl %ebp, %edx
movq %r12, %rcx
xorl %eax, %eax
callq 0x2200
movl 0x2c(%r14), %esi
movq %rbx, %rdi
callq 0x1bffc
movl $0xa, %edi
movq %rbx, %rsi
callq 0x21b0
movq 0x38(%r14), %r8
leaq 0x9477(%rip), %rsi      # 0x26f18
movq %rbx, %rdi
movl %ebp, 0x14(%rsp)
movl %ebp, %edx
movq %r12, %rcx
xorl %eax, %eax
callq 0x2200
cmpq $0x0, 0x38(%r14)
je 0x1db01
movq 0x8(%rsp), %rax
addl $0x4, %eax
movq %rax, 0x8(%rsp)
leaq 0x9464(%rip), %r12      # 0x26f33
leaq 0x3709(%rip), %r13      # 0x211df
leaq 0x946f(%rip), %rbp      # 0x26f4c
xorl %r15d, %r15d
movq %rbx, %rdi
movq %r12, %rsi
movq 0x8(%rsp), %rdx
movq %r13, %rcx
movq %rbp, %r8
xorl %eax, %eax
callq 0x2200
incq %r15
cmpq 0x38(%r14), %r15
jb 0x1dae0
movq 0x10(%r14), %rdx
movq %rbx, %rdi
movl 0x14(%rsp), %ebp
movl %ebp, %esi
callq 0x1d739
leaq 0x9436(%rip), %rsi      # 0x26f50
leaq 0x36be(%rip), %r15      # 0x211df
movq %rbx, %rdi
movl %ebp, %edx
movq %r15, %rcx
xorl %eax, %eax
callq 0x2200
movl 0x18(%r14), %esi
movq %rbx, %rdi
callq 0x1a431
movl $0xa, %edi
movq %rbx, %rsi
callq 0x21b0
leaq 0x9425(%rip), %rsi      # 0x26f75
movq %rbx, %rdi
movl %ebp, %edx
movq %r15, %rcx
xorl %eax, %eax
callq 0x2200
movl 0x1c(%r14), %esi
movq %rbx, %rdi
callq 0x1bffc
movl $0xa, %edi
movq %rbx, %rsi
callq 0x21b0
leaq 0x940e(%rip), %rsi      # 0x26f8d
movq %rbx, %rdi
movl %ebp, %edx
movq %r15, %rcx
xorl %eax, %eax
callq 0x2200
movq 0x20(%r14), %rsi
movq %rbx, %rdi
callq 0x1c16f
movl $0xa, %edi
movq %rbx, %rsi
callq 0x21b0
movl 0x28(%r14), %r8d
leaq 0x93eb(%rip), %rsi      # 0x26f9d
movq %rbx, %rdi
movl %ebp, %edx
movq %r15, %rcx
xorl %eax, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2200
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq