user: 请显示与下面列出的汇编代码相匹配的C语言实现:

```asm
<usage>:
  endbr64
  push   %rbx
  lea    D866(%rip),%rdx
  lea    D363(%rip),%rsi
  lea    D890(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D71(%rip),%rdi
  call   <puts@plt>
  lea    D637(%rip),%rdi
  call   <puts@plt>
  lea    D709(%rip),%rdi
  call   <puts@plt>
  lea    D570(%rip),%rdi
  call   <puts@plt>
  lea    D186(%rip),%rdi
  call   <puts@plt>
  lea    D159(%rip),%rdi
  call   <puts@plt>
  lea    D759(%rip),%rdi
  call   <puts@plt>
  lea    D87(%rip),%rdi
  call   <puts@plt>
  lea    D119(%rip),%rdi
  call   <puts@plt>
  lea    D737(%rip),%rbx
  mov    %rbx,%rdi
  call   <puts@plt>
  lea    D482(%rip),%rdi
  call   <puts@plt>
  lea    D507(%rip),%rdi
  call   <puts@plt>
  lea    D20(%rip),%rdi
  call   <puts@plt>
  lea    D89(%rip),%rdi
  call   <puts@plt>
  lea    D608(%rip),%rdi
  call   <puts@plt>
  lea    D879(%rip),%rdi
  call   <puts@plt>
  mov    %rbx,%rdi
  call   <puts@plt>
  lea    D573(%rip),%rdi
  call   <puts@plt>
  lea    D833(%rip),%rdi
  call   <puts@plt>
  lea    D787(%rip),%rdi
  call   <puts@plt>
  mov    %rbx,%rdi
  call   <puts@plt>
  lea    D598(%rip),%rdi
  call   <puts@plt>
  lea    D233(%rip),%rdi
  call   <puts@plt>
  lea    D774(%rip),%rdi
  call   <puts@plt>
  mov    %rbx,%rdi
  call   <puts@plt>
  lea    D796(%rip),%rdi
  call   <puts@plt>
  lea    D889(%rip),%rdi
  call   <puts@plt>
  lea    D572(%rip),%rdi
  call   <puts@plt>
  lea    D184(%rip),%rdi
  call   <puts@plt>
  lea    D149(%rip),%rdi
  call   <puts@plt>
  lea    D229(%rip),%rdi
  call   <puts@plt>
  mov    %rbx,%rdi
  call   <puts@plt>
  lea    D474(%rip),%rdi
  call   <puts@plt>
  lea    D614(%rip),%rdi
  call   <puts@plt>
  lea    D541(%rip),%rdi
  call   <puts@plt>
  lea    D73(%rip),%rdi
  call   <puts@plt>
  lea    D835(%rip),%rdi
  call   <puts@plt>
  lea    D308(%rip),%rdi
  call   <puts@plt>
  lea    D292(%rip),%rdi
  call   <puts@plt>
  lea    D154(%rip),%rdi
  call   <puts@plt>
  lea    D508(%rip),%rdi
  call   <puts@plt>
  lea    D262(%rip),%rdi
  call   <puts@plt>
  lea    D558(%rip),%rdi
  call   <puts@plt>
  lea    D144(%rip),%rdi
  call   <puts@plt>
  lea    D203(%rip),%rdi
  call   <puts@plt>
  lea    D114(%rip),%rdi
  call   <puts@plt>
  lea    D800(%rip),%rdi
  call   <puts@plt>
  lea    D410(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D799(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D459(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D719(%rip),%rdi
  call   <puts@plt>
  lea    D511(%rip),%rdi
  call   <puts@plt>
  lea    D784(%rip),%rdi
  call   <puts@plt>
  lea    D441(%rip),%rdi
  call   <puts@plt>
  lea    D393(%rip),%rdi
  call   <puts@plt>
  lea    D145(%rip),%rdx
  lea    D720(%rip),%rsi
  lea    D502(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D688(%rip),%rsi
  lea    D16(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D12(%rip),%rdi
  call   <puts@plt>
  mov    $0x0,%esi
  lea    D533(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D405(%rip),%rdi
  call   <puts@plt>
  mov    $0x0,%esi
  lea    D769(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D204(%rip),%rdi
  call   <puts@plt>
  lea    D631(%rip),%rdi
  call   <puts@plt>
  lea    D325(%rip),%rdi
  call   <puts@plt>
  lea    D150(%rip),%rdi
  call   <puts@plt>
  lea    D314(%rip),%rdi
  call   <puts@plt>
  lea    D259(%rip),%rdi
  call   <puts@plt>
  lea    D8(%rip),%rdi
  call   <puts@plt>
  lea    D778(%rip),%rdi
  call   <puts@plt>
  mov    $0x1,%esi
  lea    D3(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x93a80,%esi
  lea    D697(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D88(%rip),%rdi
  call   <puts@plt>
  lea    D329(%rip),%rdi
  call   <puts@plt>
  lea    D505(%rip),%rdi
  call   <puts@plt>
  lea    D59(%rip),%rsi
  lea    D239(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0xfa,%esi
  lea    D305(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x1,%esi
  lea    D522(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D824(%rip),%rdi
  call   <puts@plt>
  lea    D545(%rip),%rdi
  call   <puts@plt>
  mov    $0x1,%esi
  lea    D208(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D214(%rip),%rdi
  call   <puts@plt>
  movsd  D644(%rip),%xmm1
  movsd  D481(%rip),%xmm0
  lea    D163(%rip),%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  lea    D310(%rip),%rdi
  call   <puts@plt>
  lea    D190(%rip),%rdi
  call   <puts@plt>
  lea    D593(%rip),%rdi
  call   <puts@plt>
  mov    $0x1,%edi
  call   <exit@plt>
  pop    %rbx
  ret
```

tool_calls: name: disassemble_data
arguments: data_tag: D866
type_infered: string
name: disassemble_data
arguments: data_tag: D363
type_infered: string
name: disassemble_data
arguments: data_tag: D890
type_infered: string
name: disassemble_data
arguments: data_tag: D71
type_infered: string
name: disassemble_data
arguments: data_tag: D637
type_infered: string
name: disassemble_data
arguments: data_tag: D709
type_infered: string
name: disassemble_data
arguments: data_tag: D570
type_infered: string
name: disassemble_data
arguments: data_tag: D186
type_infered: string
name: disassemble_data
arguments: data_tag: D159
type_infered: string
name: disassemble_data
arguments: data_tag: D759
type_infered: string
name: disassemble_data
arguments: data_tag: D87
type_infered: string
name: disassemble_data
arguments: data_tag: D119
type_infered: string
name: disassemble_data
arguments: data_tag: D737
type_infered: string
name: disassemble_data
arguments: data_tag: D482
type_infered: string
name: disassemble_data
arguments: data_tag: D507
type_infered: string
name: disassemble_data
arguments: data_tag: D20
type_infered: string
name: disassemble_data
arguments: data_tag: D89
type_infered: string
name: disassemble_data
arguments: data_tag: D608
type_infered: string
name: disassemble_data
arguments: data_tag: D879
type_infered: string
name: disassemble_data
arguments: data_tag: D573
type_infered: string
name: disassemble_data
arguments: data_tag: D833
type_infered: string
name: disassemble_data
arguments: data_tag: D787
type_infered: string
name: disassemble_data
arguments: data_tag: D598
type_infered: string
name: disassemble_data
arguments: data_tag: D233
type_infered: string
name: disassemble_data
arguments: data_tag: D774
type_infered: string
name: disassemble_data
arguments: data_tag: D796
type_infered: string
name: disassemble_data
arguments: data_tag: D889
type_infered: string
name: disassemble_data
arguments: data_tag: D572
type_infered: string
name: disassemble_data
arguments: data_tag: D184
type_infered: string
name: disassemble_data
arguments: data_tag: D149
type_infered: string
name: disassemble_data
arguments: data_tag: D229
type_infered: string
name: disassemble_data
arguments: data_tag: D474
type_infered: string
name: disassemble_data
arguments: data_tag: D614
type_infered: string
name: disassemble_data
arguments: data_tag: D541
type_infered: string
name: disassemble_data
arguments: data_tag: D73
type_infered: string
name: disassemble_data
arguments: data_tag: D835
type_infered: string
name: disassemble_data
arguments: data_tag: D308
type_infered: string
name: disassemble_data
arguments: data_tag: D292
type_infered: string
name: disassemble_data
arguments: data_tag: D154
type_infered: string
name: disassemble_data
arguments: data_tag: D508
type_infered: string
name: disassemble_data
arguments: data_tag: D262
type_infered: string
name: disassemble_data
arguments: data_tag: D558
type_infered: string
name: disassemble_data
arguments: data_tag: D144
type_infered: string
name: disassemble_data
arguments: data_tag: D203
type_infered: string
name: disassemble_data
arguments: data_tag: D114
type_infered: string
name: disassemble_data
arguments: data_tag: D800
type_infered: string
name: disassemble_data
arguments: data_tag: D410
type_infered: string
name: disassemble_data
arguments: data_tag: D799
type_infered: string
name: disassemble_data
arguments: data_tag: D459
type_infered: string
name: disassemble_data
arguments: data_tag: D719
type_infered: string
name: disassemble_data
arguments: data_tag: D511
type_infered: string
name: disassemble_data
arguments: data_tag: D784
type_infered: string
name: disassemble_data
arguments: data_tag: D441
type_infered: string
name: disassemble_data
arguments: data_tag: D393
type_infered: string
name: disassemble_data
arguments: data_tag: D145
type_infered: string
name: disassemble_data
arguments: data_tag: D720
type_infered: string
name: disassemble_data
arguments: data_tag: D502
type_infered: string
name: disassemble_data
arguments: data_tag: D688
type_infered: string
name: disassemble_data
arguments: data_tag: D16
type_infered: string
name: disassemble_data
arguments: data_tag: D12
type_infered: string
name: disassemble_data
arguments: data_tag: D533
type_infered: string
name: disassemble_data
arguments: data_tag: D405
type_infered: string
name: disassemble_data
arguments: data_tag: D769
type_infered: string
name: disassemble_data
arguments: data_tag: D204
type_infered: string
name: disassemble_data
arguments: data_tag: D631
type_infered: string
name: disassemble_data
arguments: data_tag: D325
type_infered: string
name: disassemble_data
arguments: data_tag: D150
type_infered: string
name: disassemble_data
arguments: data_tag: D314
type_infered: string
name: disassemble_data
arguments: data_tag: D259
type_infered: string
name: disassemble_data
arguments: data_tag: D8
type_infered: string
name: disassemble_data
arguments: data_tag: D778
type_infered: string
name: disassemble_data
arguments: data_tag: D3
type_infered: string
name: disassemble_data
arguments: data_tag: D697
type_infered: string
name: disassemble_data
arguments: data_tag: D88
type_infered: string
name: disassemble_data
arguments: data_tag: D329
type_infered: string
name: disassemble_data
arguments: data_tag: D505
type_infered: string
name: disassemble_data
arguments: data_tag: D59
type_infered: string
name: disassemble_data
arguments: data_tag: D239
type_infered: string
name: disassemble_data
arguments: data_tag: D305
type_infered: string
name: disassemble_data
arguments: data_tag: D522
type_infered: string
name: disassemble_data
arguments: data_tag: D824
type_infered: string
name: disassemble_data
arguments: data_tag: D545
type_infered: string
name: disassemble_data
arguments: data_tag: D208
type_infered: string
name: disassemble_data
arguments: data_tag: D214
type_infered: string
name: disassemble_data
arguments: data_tag: D644
type_infered: byte[8]
name: disassemble_data
arguments: data_tag: D481
type_infered: byte[8]
name: disassemble_data
arguments: data_tag: D163
type_infered: string
name: disassemble_data
arguments: data_tag: D310
type_infered: string
name: disassemble_data
arguments: data_tag: D190
type_infered: string
name: disassemble_data
arguments: data_tag: D593
type_infered: string

tool: D866: March 2, 2007

tool: D363: 0.1

tool: D890: 
Repair Sender Version %s, %s



tool: D71:   Copyright (c) 2003-2007 TUT - Tampere University of Technology

tool: D637:   main authors/contacts: jani.peltotalo@tut.fi and sami.peltotalo@tut.fi

tool: D709:   web site: http://www.atm.tut.fi/mad


tool: D570:   This is free software, and you are welcome to redistribute it

tool: D186:   under certain conditions; See the GNU General Public License

tool: D159:   as published by the Free Software Foundation, version 2 or later,

tool: D759:   for more details.

tool: D87:   * mad_rlc.c & mad_rlc.h -- Portions of code derived from MCL library by

tool: D119:   * Vincent Roca et al. (http://www.inrialpes.fr/planete/people/roca/mcl/)

tool: D737:   *

tool: D482:   * Copyright (c) 1999-2004 INRIA - Universite Paris 6 - All rights reserved

tool: D507:   * (main author: Julien Laboure - julien.laboure@inrialpes.fr

tool: D20:   *               Vincent Roca - vincent.roca@inrialpes.fr)

tool: D89:   * fec.c & fec.h -- forward error correction based on Vandermonde matrices

tool: D608:   * 980624

tool: D879:   * (C) 1997-98 Luigi Rizzo (luigi@iet.unipi.it)

tool: D573:   * Portions derived from code by Phil Karn (karn@ka9q.ampr.org),

tool: D833:   * Robert Morelos-Zaragoza (robert@spectra.eng.hawaii.edu) and

tool: D787:   * Hari Thirumoorthy (harit@spectra.eng.hawaii.edu), Aug 1995

tool: D598:   * Redistribution and use in source and binary forms, with or without

tool: D233:   * modification, are permitted provided that the following conditions

tool: D774:   * are met:

tool: D796:   * 1. Redistributions of source code must retain the above copyright

tool: D889:   *    notice, this list of conditions and the following disclaimer.

tool: D572:   * 2. Redistributions in binary form must reproduce the above

tool: D184:   *    copyright notice, this list of conditions and the following

tool: D149:   *    disclaimer in the documentation and/or other materials

tool: D229:   *    provided with the distribution.

tool: D474:   * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND

tool: D614:   * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,

tool: D541:   * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A

tool: D73:   * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS

tool: D835:   * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,

tool: D308:   * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,

tool: D292:   * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,

tool: D154:   * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY

tool: D508:   * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR

tool: D262:   * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT

tool: D558:   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY

tool: D144:   * OF SUCH DAMAGE.

tool: D203: 
Usage: repair_sender [-m:str] [-p:int] [-i:str] [-c:int] [-t:ull] [-e:int]

tool: D114:                      [-K:str] [-a:str] [-h] [[-n:int] | [-C]] [-f:str] [-r:int]

tool: D800:                      [-v:int] [-D:ull] [-V:str] [-T:int] [-P:float,float]

tool: D410:                      [-H] [-B:str]

tool: D799:  [-d:str]

tool: D459:  [-w:int]

tool: D719: 


tool: D511: Options:


tool: D784:    -m:str           IP4 or IP6 address for base channel,

tool: D441:    -e:int           FEC-OTI for file objects

tool: D393:                     [0 = FEC-OTI in FDT, 1 = FEC-OTI in EXT_FTI], default: 0

tool: D145: ff1a::1

tool: D720: 226.10.40.1

tool: D502:                     default: %s or %s


tool: D688: 4001

tool: D16:    -p:int           Port number for base channel, default: %s


tool: D12:    -i:str           Local interface to bind to, default: INADDR_ANY

tool: D533:    -t:ull           TSI for this session, default: %i


tool: D405:    -w:int           Congestion control scheme [0 = Null, 1 = RLC],

tool: D769:                     default: %i; the number of channels, defined by -c option,


tool: D204:                     are used with both schemes and bitrate of each channel is

tool: D631:                     set according to RLC rules

tool: D325:    -a:str           Address family (IP4 or IP6), default: IP4

tool: D150:    -v:int           Verbosity level, [0 = low, 1 = high] default: 1

tool: D314:    -V:str           Print logs to 'str' file, default: print to stdout

tool: D259:    -d:str           SDP file (start FLUTE session based on SDP file),

tool: D8:                     default: no

tool: D778:    -h               Print this help

tool: D3:    -c:int           Number of used channels, default: %i


tool: D697:    -D:ull           Duration of the session in seconds, default: %i


tool: D88:    -f:str           FDT file of the FLUTE session to be repaired, default: no

tool: D329:    -B:str           Base directory for files of the FLUTE session to be

tool: D505:                     repaired, default: no

tool: D59: repair_sender.conf

tool: D239:    -K:str           Repair configuration file, default: %s


tool: D305:    -r:int           Transmission rate at base channel in kbits/s, default: %i


tool: D522:    -T:int           Time To Live or Hop Limit for this session, default: %i


tool: D824:    -e:int           Use EXT_FTI extensions header for file objects

tool: D545:                     [0 = no, 1 = yes], default: 1

tool: D208:    -n:int           Number of transmissions, default: %i


tool: D214:    -C               Continuous transmission, default: not used

tool: {"D644": [0x00,0x00,0x00,0x00,0x00,0x00,0x49,0x40]}

tool: {"D481": [0x00,0x00,0x00,0x00,0x00,0x00,0x14,0x40]}

tool: D163:    -P[:float,float] Simulate packet losses, default: %.1f,%.1f


tool: D310:    -H               Use Half-word (if used TSI field could be 16, 32 or 48

tool: D190:                     bits long and TOI field could be 16, 32, 48 or 64 bits

tool: D593:                     long), default: not used

assistant: ```c
void usage(void) {
  printf("\nRepair Sender Version %s, %s\n\n", "0.1", "March 2, 2007");
  printf("  Copyright (c) 2003-2007 TUT - Tampere University of Technology\n");
  printf("  main authors/contacts: jani.peltotalo@tut.fi and sami.peltotalo@tut.fi\n");
  printf("  web site: http://www.atm.tut.fi/mad\n\n");
  printf("  This is free software, and you are welcome to redistribute it\n");
  printf("  under certain conditions; See the GNU General Public License\n");
  printf("  as published by the Free Software Foundation, version 2 or later,\n");
  printf("  for more details.\n");
  printf("  * mad_rlc.c & mad_rlc.h -- Portions of code derived from MCL library by\n");
  printf("  * Vincent Roca et al. (http://www.inrialpes.fr/planete/people/roca/mcl/)\n");
  printf("  *\n");
  printf("  * Copyright (c) 1999-2004 INRIA - Universite Paris 6 - All rights reserved\n");
  printf("  * (main author: Julien Laboure - julien.laboure@inrialpes.fr\n");
  printf("  *               Vincent Roca - vincent.roca@inrialpes.fr)\n");
  printf("  * fec.c & fec.h -- forward error correction based on Vandermonde matrices\n");
  printf("  * 980624\n");
  printf("  * (C) 1997-98 Luigi Rizzo (luigi@iet.unipi.it)\n");
  printf("  *\n");
  printf("  * Portions derived from code by Phil Karn (karn@ka9q.ampr.org),\n");
  printf("  * Robert Morelos-Zaragoza (robert@spectra.eng.hawaii.edu) and\n");
  printf("  * Hari Thirumoorthy (harit@spectra.eng.hawaii.edu), Aug 1995\n");
  printf("  *\n");
  printf("  * Redistribution and use in source and binary forms, with or without\n");
  printf("  * modification, are permitted provided that the following conditions\n");
  printf("  * are met:\n");
  printf("  *\n");
  printf("  * 1. Redistributions of source code must retain the above copyright\n");
  printf("  *    notice, this list of conditions and the following disclaimer.\n");
  printf("  * 2. Redistributions in binary form must reproduce the above\n");
  printf("  *    copyright notice, this list of conditions and the following\n");
  printf("  *    disclaimer in the documentation and/or other materials\n");
  printf("  *    provided with the distribution.\n");
  printf("  *\n");
  printf("  * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND\n");
  printf("  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n");
  printf("  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A\n");
  printf("  * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS\n");
  printf("  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,\n");
  printf("  * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n");
  printf("  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,\n");
  printf("  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n");
  printf("  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR\n");
  printf("  * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT\n");
  printf("  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n");
  printf("  * OF SUCH DAMAGE.\n");
  printf("\nUsage: repair_sender [-m:str] [-p:int] [-i:str] [-c:int] [-t:ull] [-e:int]\n");
  printf("                     [-K:str] [-a:str] [-h] [[-n:int] | [-C]] [-f:str] [-r:int]\n");
  printf("                     [-v:int] [-D:ull] [-V:str] [-T:int] [-P:float,float]\n");
  printf("                     [-H] [-B:str]");
  printf(" [-d:str]");
  printf(" [-w:int]");
  printf("\n\n");
  printf("Options:\n\n");
  printf("   -m:str           IP4 or IP6 address for base channel,\n");
  printf("   -e:int           FEC-OTI for file objects\n");
  printf("                    [0 = FEC-OTI in FDT, 1 = FEC-OTI in EXT_FTI], default: 0\n");
  printf("                    default: %s or %s\n", "226.10.40.1", "ff1a::1");
  printf("   -p:int           Port number for base channel, default: %s\n", "4001");
  printf("   -i:str           Local interface to bind to, default: INADDR_ANY\n");
  printf("   -t:ull           TSI for this session, default: %i\n", 0);
  printf("   -w:int           Congestion control scheme [0 = Null, 1 = RLC],\n");
  printf("                    default: %i; the number of channels, defined by -c option,\n", 0);
  printf("                    are used with both schemes and bitrate of each channel is\n");
  printf("                    set according to RLC rules\n");
  printf("   -a:str           Address family (IP4 or IP6), default: IP4\n");
  printf("   -v:int           Verbosity level, [0 = low, 1 = high] default: 1\n");
  printf("   -V:str           Print logs to 'str' file, default: print to stdout\n");
  printf("   -d:str           SDP file (start FLUTE session based on SDP file),\n");
  printf("                    default: no\n");
  printf("   -h               Print this help\n");
  printf("   -c:int           Number of used channels, default: %i\n", 1);
  printf("   -D:ull           Duration of the session in seconds, default: %i\n", 604800);
  printf("   -f:str           FDT file of the FLUTE session to be repaired, default: no\n");
  printf("   -B:str           Base directory for files of the FLUTE session to be\n");
  printf("                    repaired, default: no\n");
  printf("   -K:str           Repair configuration file, default: %s\n", "repair_sender.conf");
  printf("   -r:int           Transmission rate at base channel in kbits/s, default: %i\n", 250);
  printf("   -T:int           Time To Live or Hop Limit for this session, default: %i\n", 1);
  printf("   -e:int           Use EXT_FTI extensions header for file objects\n");
  printf("                    [0 = no, 1 = yes], default: 1\n");
  printf("   -n:int           Number of transmissions, default: %i\n", 1);
  printf("   -C               Continuous transmission, default: not used\n");
  printf("   -P[:float,float] Simulate packet losses, default: %.1f,%.1f\n", (float)5, (float)50);
  printf("   -H               Use Half-word (if used TSI field could be 16, 32 or 48\n");
  printf("                    bits long and TOI field could be 16, 32, 48 or 64 bits\n");
  printf("                    long), default: not used\n");
  exit(1);
}
```