user: Please show me the C implementation that matches the assembly code listed below:

```asm
<ShowV4L2Format>:
  endbr64
  sub    $0x8,%rsp
  lea    D29(%rip),%rdi
  call   <puts@plt>
  mov    0x10(%rsp),%esi
  lea    D73(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    0x14(%rsp),%esi
  lea    D43(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    0x18(%rsp),%esi
  lea    D118(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    0x1c(%rsp),%esi
  lea    D18(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    0x20(%rsp),%esi
  lea    D98(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    0x24(%rsp),%esi
  lea    D115(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    0x28(%rsp),%esi
  lea    D16(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    0x2c(%rsp),%esi
  lea    D94(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    0x30(%rsp),%esi
  lea    D58(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    0x34(%rsp),%esi
  lea    D38(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    0x38(%rsp),%esi
  lea    D15(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    0x3c(%rsp),%esi
  lea    D30(%rip),%rdi
  xor    %eax,%eax
  add    $0x8,%rsp
  jmp    1070 <printf@plt>
```

tool_calls: name: parse_data
arguments: data_tag: D29
data_type: string
name: parse_data
arguments: data_tag: D73
data_type: string
name: parse_data
arguments: data_tag: D43
data_type: string
name: parse_data
arguments: data_tag: D118
data_type: string
name: parse_data
arguments: data_tag: D18
data_type: string
name: parse_data
arguments: data_tag: D98
data_type: string
name: parse_data
arguments: data_tag: D115
data_type: string
name: parse_data
arguments: data_tag: D16
data_type: string
name: parse_data
arguments: data_tag: D94
data_type: string
name: parse_data
arguments: data_tag: D58
data_type: string
name: parse_data
arguments: data_tag: D38
data_type: string
name: parse_data
arguments: data_tag: D15
data_type: string
name: parse_data
arguments: data_tag: D30
data_type: string

tool: D29: ======== V4L2 Format ========

tool: D73: type              : %u


tool: D43: width             : %u


tool: D118: height            : %u


tool: D18: pixelformat       : %u


tool: D98: field             : %u


tool: D115: bytesperline      : %u


tool: D16: sizeimage         : %u


tool: D94: colorspace        : %u


tool: D58: priv              : %u


tool: D38: flags             : %u


tool: D15: ycbcr_enc         : %u


tool: D30: quantization      : %u


assistant: ```c
void ShowV4L2Format(struct v4l2_format fmt) {
  printf("======== V4L2 Format ========\n");
  printf("type              : %u\n", fmt.type);
  printf("width             : %u\n", fmt.fmt.pix.width);
  printf("height            : %u\n", fmt.fmt.pix.height);
  printf("pixelformat       : %u\n", fmt.fmt.pix.pixelformat);
  printf("field             : %u\n", fmt.fmt.pix.field);
  printf("bytesperline      : %u\n", fmt.fmt.pix.bytesperline);
  printf("sizeimage         : %u\n", fmt.fmt.pix.sizeimage);
  printf("colorspace        : %u\n", fmt.fmt.pix.colorspace);
  printf("priv              : %u\n", fmt.fmt.pix.priv);
  printf("flags             : %u\n", fmt.fmt.pix.flags);
  printf("ycbcr_enc         : %u\n", fmt.fmt.pix.ycbcr_enc);
  printf("quantization      : %u\n", fmt.fmt.pix.quantization);
}
```